Dear colleagues,
I'm pleased to announce that the following paper has been accepted at
DocEng 2024, the ACM Symposium on Document Engineering, to be held this
August in San Jose.
* Similarity Problems in Paragraph Justification: An Extension to the
Knuth-Plass Algorithm
** In high quality typography, consecutive lines beginning or ending
with the same word or sequence of characters is considered a defect. We
have implemented an extension to TeX's paragraph justification algorithm
which handles this problem. Experimentation shows that getting rid of
similarities is both worth addressing and achievable. Our extension
automates the detection and avoidance of similarities while leaving the
ultimate decision to the professional typographer, thanks to a new
adjustable cursor. The extension is simple and lightweight, making it a
useful addition to production engines.
--
Resistance is futile. You will be jazzimilated.
Lisp, Jazz, Aïkido: http://www.didierverna.info
Dear colleagues,
it is my pleasure to announce that the following paper has been accepted
at TUG 2024, to be held in Prague, this July.
A Large Scale Format Compliance Checker for TeX Font Metrics
As part of ETAP, our experimental typesetting algorithms platform, we
have developed a parser for TeX Font Metrics files. The parser not only
provides a rich ontology of errors, but also a powerful recovery
mechanism, made possible by the underlying programming language's unique
exception handling paradigm.
Because the library reifies exceptions as first class citizens in the
language, and in an object-oriented fashion, it is possible to compile
"(non)compliance reports" for fonts by going as far as possible in the
parsing, even in problematic case.
We have applied this to the current TeXlive distribution, inspecting
almost 80,000 fonts, and discovering near 700 fonts with non-compliance
problems. The result of this work has just been officially integrated
into the TeXlive distribution.
See: https://texlive.info/tfm-validate/
--
Resistance is futile. You will be jazzimilated.
Lisp, Jazz, Aïkido: http://www.didierverna.info
Dear colleagues,
it's my pleasure to announce that my paper entitled "The Quickref
Cohort" has been accepted to the 17th European Lisp Symposium, May 2-7,
Vienna.
The abstract is given below.
The internal architecture of Declt, our reference manual generator for
Common Lisp libraries, is currently evolving towards a three-stage
pipeline in which the information gathered for documentation purposes is
first reified into a formalized set of object-oriented data structures.
A side-effect of this evolution is the ability to dump that information
for other purposes than documentation. We demonstrate this ability
applied to the complete Quicklisp ecosystem. The resulting "cohort"
includes more than half a million programmatic definitions, and can be
used to gain insight into the morphology of Common Lisp software.
--
Resistance is futile. You will be jazzimilated.
Jazz site: http://www.didierverna.com
Other sites: http://www.didierverna.info
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17th European Lisp Symposium
Call for Papers
May 6-7 2024
Federal Computing Center, Vienna, Austria
https://www.european-lisp-symposium.org/2024
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Important Dates
~~~~~~~~~~~~~~~
- Submission deadline: Feb. 25 2024 ** EXTENDED **
- Author notification: Mar. 24 2024
- Final papers due: Apr. 14 2024
- Symposium: May 6-7 2024
Scope
~~~~~
The European Lisp Symposium is a premier forum for the discussion and
dissemination of all aspects of design, implementation, and application
of any of the Lisp dialects, including Common Lisp, Scheme, Emacs
Lisp, Clojure, Racket, ACL2, AutoLisp, ISLISP, Dylan, SKILL, Hy, Shen,
Carp, Janet, uLisp, Picolisp, Gamelisp, TXR, and so on. We encourage
everyone interested in Lisp to participate.
The European Lisp Symposium invites high quality papers about novel
research results, insights and lessons learned from practical
applications, and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.
Topics include but are not limited to:
- context-, aspect-, domain-oriented and generative programming
- macro-, reflective-, meta- and/or rule-based development approaches
- language design and implementation
- language integration, inter-operation, and deployment
- development methodologies, support, and environments
- educational approaches and perspectives
- experience reports and case studies
This year, we suggest an emphasis on best practices, approaches,
and technologies for building highly recursive and self-adapting
architectures, in particular for AI, ML, tool integration and
instruction generation, using dynamic programming languages.
Technical Program
~~~~~~~~~~~~~~~~~
We invite submissions in the following forms.
* Papers: technical papers of up to 8 pages that describe original
results or explain known ideas in new and elegant ways.
* Experience reports: papers of up to 6 pages describing a successful
use of a Lisp dialect and/or analyzing obstacles that have kept it
from working in practice.
* Tutorials: abstracts of up to 4 pages for in-depth presentations
about topics of special interest.
* Demonstrations: abstracts of up to 4 pages for demonstrations of
tools, libraries, and applications.
All submissions should be formatted following the ACM SIGS guidelines
and include ACM Computing Classification System 2012 concepts and
terms. Submissions should be uploaded to Easy Chair, at the following
link http://www.easychair.org/conferences/?conf=els2024.
Note: to help us with the review process please indicate the type of
submission by entering either "paper", "demo", or "tutorial" in the
Keywords field.
Programme Chair
~~~~~~~~~~~~~~~
Giuseppe Attardi, University of Pisa, Italy
Organizing Chair
~~~~~~~~~~~~~~~~
Didier Verna, EPITA, France
Programme Committee
~~~~~~~~~~~~~~~~~~~
Ambrose Bonnaire-Sergeant, Untypable LLC
Frederic Peschanski, UPMC/LIP6
Jay McCarthy, UMass Lowell
Jim Newton, EPITA Research Lab
Kai Selgrad, OTH Regensburg
Mark Evenson, not.org
Michael Raskin, LaBRI/CNRS UMR 5800, University of Bordeaux
Robert Smith, HRL Laboratories LLC
Robert P. Goldman, SIFT LLC
Stefan Monnier, Université de Montréal
Local Chair
~~~~~~~~~~~
Philipp Marek, BRZ, Vienna, Austria
Virtualization Team
~~~~~~~~~~~~~~~~~~~
Georgiy Tugai, Configura, Sweden
Michal Herda, Poland
Yukari Hafner, Shirakumo.org, Switzerland
--
Resistance is futile. You will be jazzimilated.
Jazz site: http://www.didierverna.com
Other sites: http://www.didierverna.info
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17th European Lisp Symposium
Call for Papers
May 6-7 2024
Federal Computing Center, Vienna, Austria
https://www.european-lisp-symposium.org/2024
Sponsored by EPITA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Important Dates
~~~~~~~~~~~~~~~
- Submission deadline: Feb. 18 2024
- Author notification: Mar. 24 2024
- Final papers due: Apr. 14 2024
- Symposium: May 6-7 2024
Scope
~~~~~
The European Lisp Symposium is a premier forum for the discussion and
dissemination of all aspects of design, implementation, and application
of any of the Lisp dialects, including Common Lisp, Scheme, Emacs
Lisp, Clojure, Racket, ACL2, AutoLisp, ISLISP, Dylan, SKILL, Hy, Shen,
Carp, Janet, uLisp, Picolisp, Gamelisp, TXR, and so on. We encourage
everyone interested in Lisp to participate.
The European Lisp Symposium invites high quality papers about novel
research results, insights and lessons learned from practical
applications, and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.
Topics include but are not limited to:
- context-, aspect-, domain-oriented and generative programming
- macro-, reflective-, meta- and/or rule-based development approaches
- language design and implementation
- language integration, inter-operation, and deployment
- development methodologies, support, and environments
- educational approaches and perspectives
- experience reports and case studies
This year, we suggest an emphasis on best practices, approaches,
and technologies for building highly recursive and self-adapting
architectures, in particular for AI, ML, tool integration and
instruction generation, using dynamic programming languages.
Technical Program
~~~~~~~~~~~~~~~~~
We invite submissions in the following forms.
* Papers: technical papers of up to 8 pages that describe original
results or explain known ideas in new and elegant ways.
* Experience reports: papers of up to 6 pages describing a successful
use of a Lisp dialect and/or analyzing obstacles that have kept it
from working in practice.
* Tutorials: abstracts of up to 4 pages for in-depth presentations
about topics of special interest.
* Demonstrations: abstracts of up to 4 pages for demonstrations of
tools, libraries, and applications.
All submissions should be formatted following the ACM SIGS guidelines
and include ACM Computing Classification System 2012 concepts and
terms. Submissions should be uploaded to Easy Chair, at the following
link http://www.easychair.org/conferences/?conf=els2024.
Note: to help us with the review process please indicate the type of
submission by entering either "paper", "demo", or "tutorial" in the
Keywords field.
Programme Chair
~~~~~~~~~~~~~~~
Giuseppe Attardi, University of Pisa, Italy
Programme Committee
~~~~~~~~~~~~~~~~~~~
Ambrose Bonnaire-Sergeant, Untypable LLC
Frederic Peschanski, UPMC/LIP6
Jay McCarthy, UMass Lowell
Jim Newton, EPITA Research Lab
Kai Selgrad, OTH Regensburg
Mark Evenson, not.org
Michael Raskin, LaBRI/CNRS UMR 5800, University of Bordeaux
Robert Smith, HRL Laboratories LLC
Robert P. Goldman, SIFT LLC
Stefan Monnier, Université de Montréal
Local Chair
~~~~~~~~~~~
Philipp Marek, BRZ, Vienna, Austria
Virtualization Team
~~~~~~~~~~~~~~~~~~~
Georgiy Tugai, Configura, Sweden
Michał Herda, Poland
Yukari Hafner, Shirakumo.org, Switzerland
--
Resistance is futile. You will be jazzimilated.
Jazz site: http://www.didierverna.com
Other sites: http://www.didierverna.info
Chers tous,
j'ai le plaisir de vous annoncer une visioconférence en français sur le
« Knuth-Plass », l'algorithme de mise en forme / justification de
paragraphes de TeX. Cette conférence aura lieu le 11 Janvier 2024 à 20h,
dans le cadre des exposés mensuels de l'association GUTenberg.
La page d'annonce avec le résumé est disponible à cette adresse:
https://www.gutenberg-asso.fr/11-janvier-2024-Expose-sur-l-algorithme-de-Kn…
Au plaisir de vous y télé-retrouver...
--
Resistance is futile. You will be jazzimilated.
Other sites: http://www.didierverna.info
Bonjour,
J'ai le plaisir de vous inviter à la soutenance de ma thèse intitulée :
"Contributions au Bounded model-checking basé sur SAT
La soutenance sera présentée en français.
Elle aura lieu le mardi 19 décembre 2023 à partir de 10h00 (heure de
Paris),
en Amphi 401, EPITA, 14-16 Rue Voltaire, 94270 Le Kremlin-Bicêtre.
Vous êtes cordialement invité au pot qui suivra.
Composition du jury:
Rapporteur: Vijay Ganesh, Professeur, GT, Georgia Institute of
Technology.
Rapporteur: Ahmed Bounekkar, Maître de Conférences, ERIC,
Université Claude Bernard Lyon 1.
Examinatrice: Laure Petrucci, Professeure, LIPN, Université Sorbonne
Paris Nord.
Examinatrice: Emmannuelle Encrenaz, Professeure, LIP6, Sorbonne
Université.
Directeur: Souheib Baarir, Enseignant-Chercheur, LRE, EPITA.
Encadrant: Étienne Renault, SiPearl.
Résumé :
Les systèmes informatiques sont devenus omniprésents dans notre vie
quotidienne. Garantir la fiabilité
et la robustesse de ces systèmes est une nécessité absolue. La
Vérification de Modèles (Model Checking)
est l'une des approches dédiées à cette fin. Son objectif est de prouver
l'absence de défaillances ou
d'identifier d'éventuelles erreurs.
Le model checking se décline en plusieurs techniques. Parmi celles-ci,
on trouve la Vérification de
Modèles Bornée (Bounded Model Checking - BMC), une technique qui repose
sur la satisfiabilité
booléenne (SAT). L'idée centrale derrière le BMC est de vérifier qu'un
modèle, limité à des exécutions
bornées par un entier k, satisfait sa spécification, définie comme un
ensemble d'expressions logiques
temporelles. Dans cette approche, les comportements du système sont
exprimés sous forme de problèmes SAT.
Contrairement à d'autres méthodes de vérification formelle, le BMC basé
sur SAT n'est généralement pas
sensible au problème de l'explosion de l'espace d'états, ce qui peut
poser problème lors de la conception
de systèmes impliquant des millions de variables et de contraintes.
Cependant, le compromis réside dans
la complexité temporelle, car les problèmes SAT sont connus pour être
NP-complets.
Au cours des dernières décennies, d'importantes avancées ont été
réalisées dans la résolution séquentielle
de problèmes SAT. Ces développements se sont principalement concentrés
sur l'utilisation d'informations
dynamiques, acquises lors du processus de résolution (par exemple,
l'apprentissage de clauses binaires) ou
d'informations statiques, extraites de la structure inhérente du
problème SAT (par exemple, la structure
en communauté). Toutefois, moins d'attention a été accordée aux
informations structurelles du problème
initial. Par exemple, lorsque qu'un problème BMC est réduit à une
formule booléenne, des données
cruciales sont perdues lors de la traduction. Comme le souligne cette
thèse, la réintégration de ces
informations perdues peut considérablement améliorer le processus de
résolution. Ce travail explore des
moyens d'améliorer la résolution de problèmes BMC basés sur SAT, tant
dans des contextes séquentiels que
parallèles, en exploitant et en valorisant les informations pertinentes
extraites des caractéristiques
inhérentes du problème. Cela peut impliquer l'amélioration
d'heuristiques génériques existantes ou la
décomposition efficace de la formule en partitions.
Cordialement,
Anissa Kheireddine
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17th European Lisp Symposium
Call for Papers
May 6-7 2024
Federal Computing Center, Vienna, Austria
https://www.european-lisp-symposium.org/2024
Sponsored by EPITA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Important Dates
~~~~~~~~~~~~~~~
- Submission deadline: Feb. 2 2024
- Author notification: Mar. 24 2024
- Final papers due: Apr. 14 2024
- Symposium: May 6-7 2024
Scope
~~~~~
The European Lisp Symposium is a premier forum for the discussion and
dissemination of all aspects of design, implementation, and application
of any of the Lisp dialects, including Common Lisp, Scheme, Emacs
Lisp, Clojure, Racket, ACL2, AutoLisp, ISLISP, Dylan, SKILL, Hy, Shen,
Carp, Janet, uLisp, Picolisp, Gamelisp, TXR, and so on. We encourage
everyone interested in Lisp to participate.
The European Lisp Symposium invites high quality papers about novel
research results, insights and lessons learned from practical
applications, and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.
Topics include but are not limited to:
- context-, aspect-, domain-oriented and generative programming
- macro-, reflective-, meta- and/or rule-based development approaches
- language design and implementation
- language integration, inter-operation, and deployment
- development methodologies, support, and environments
- educational approaches and perspectives
- experience reports and case studies
This year, we suggest an emphasis on best practices, approaches,
and technologies for building highly recursive and self-adapting
architectures, in particular for AI, ML, tool integration and
instruction generation, using dynamic programming languages.
Technical Program
~~~~~~~~~~~~~~~~~
We invite submissions in the following forms.
* Papers: technical papers of up to 8 pages that describe original
results or explain known ideas in new and elegant ways.
* Experience reports: papers of up to 6 pages describing a successful
use of a Lisp dialect and/or analyzing obstacles that have kept it
from working in practice.
* Tutorials: abstracts of up to 4 pages for in-depth presentations
about topics of special interest.
* Demonstrations: abstracts of up to 4 pages for demonstrations of
tools, libraries, and applications.
All submissions should be formatted following the ACM SIGS guidelines
and include ACM Computing Classification System 2012 concepts and
terms. Submissions should be uploaded to Easy Chair, at the following
link http://www.easychair.org/conferences/?conf=els2024.
Note: to help us with the review process please indicate the type of
submission by entering either "paper", "demo", or "tutorial" in the
Keywords field.
Programme Chair
~~~~~~~~~~~~~~~
Giuseppe Attardi, University of Pisa, Italy
Local Chair
~~~~~~~~~~~
Philipp Marek, BRZ, Vienna, Austria
Virtualization Team
~~~~~~~~~~~~~~~~~~~
Georgiy Tugai, Configura, Sweden
Michał Herda, Poland
Yukari Hafner, Shirakumo.org, Switzerland
--
Resistance is futile. You will be jazzimilated.
Jazz site: http://www.didierverna.com
Other sites: http://www.didierverna.info
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16th European Lisp Symposium
In-Cooperation-With: ACM SIGLAN
Call for Participation
April 24-25, 2023
Startup Village, Amsterdam, Nederlands
https://www.european-lisp-symposium.org/2023
Sponsored by EPITA, DIRO, MLPrograms, Franz Inc., and SISCOG
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recent News
~~~~~~~~~~~
Registrer now. Early bird discount closing soon!
Keynote details now available.
Important Dates
~~~~~~~~~~~~~~~
- Final papers due: April 9, 2023
- Early registration deadline: April 9, 2023
- Symposium: April 24-25, 2023
Scope
~~~~~
The European Lisp Symposium is a premier forum for the discussion and
dissemination of all aspects of design, implementation, and application
of any of the Lisp dialects, including Common Lisp, Scheme, Emacs
Lisp, Clojure, Racket, ACL2, AutoLisp, ISLISP, Dylan, SKILL, Hy, Shen,
Carp, Janet, uLisp, Picolisp, Gamelisp, TXR, and so on. We encourage
everyone interested in Lisp to participate.
The European Lisp Symposium invites high quality papers about novel
research results, insights and lessons learned from practical
applications, and educational perspectives. We also encourage
submissions about known ideas as long as they are presented in a new
setting and/or in a highly elegant way.
Topics include but are not limited to:
- context-, aspect-, domain-oriented and generative programming
- macro-, reflective-, meta- and/or rule-based development approaches
- language design and implementation
- language integration, inter-operation, and deployment
- development methodologies, support, and environments
- educational approaches and perspectives
- experience reports and case studies
Keynotes
~~~~~~~~
##### Artificial Intelligence: a Problem of Plumbing?
-- Gerald J. Sussman, MIT CSAIL, USA
We have made amazing progress in the construction and deployment of
systems that do work originally thought to require human-like
intelligence. On the symbolic side we have world-champion
Chess-playing and Go-playing systems. We have deductive systems and
algebraic manipulation systems that exceed the capabilities of human
mathematicians. We are now observing the rise of connectionist
mechanisms that appear to see and hear pretty well, and chatbots that
appear to have some impressive linguistic ability. But there is a
serious problem. The mechanisms that can distinguish pictures of cats
from pictures of dogs have no idea what a cat or a dog is. The
chatbots have no idea what they are talking about. The algebraic
systems do not understand anything about the real physical world. And
no deontic logic system has any idea about feelings and morality.
So what is the problem? We generally do not know how to combine
systems so that a system that knows how to solve problems of class A
and another system that knows how to solve problems of class B can be
combined to solve not just problems of class A or class B but can
solve problems that require both skills that are needed for problems
of class A and skills that are needed for problems of class B.
Perhaps this is partly a problem of plumbing. We do not have
linguistic structures that facilitate discovering and building
combinations. This is a fundamental challenge for the
programming-language community. We need appropriate ideas for abstract
plumbing fittings that enable this kind of cooperation among disparate
mechanisms. For example, why is the amazingly powerful tree
exploration mechanism that is used for games not also available, in
the same system, to a deductive engine that is being applied to a
social interaction problem?
I will attempt to elucidate this problem and perhaps point at avenues
of attack that we may work on together.
##### Hedy: Gradual, Multi-Lingual, and Teacher-Centric Programming Education
-- Felienne Hermans, Vrije Universiteit Amsterdam, Nederlands
When kids learn to program they often use either a visual language
like Scratch, or a textual language like Python. While visual
languages are great for the first steps, children and educators often
want to move on to textual languages. However, early on, a textual
language and its error messages can be scary. Hedy aims to bridge this
gap with a programming language that is gradual, using different
language levels.
In level 1, there is hardly any syntax at all; printing is done with:
print hello!
At every level, new syntax and concepts are added, so learners do not
have to master everything at once. Hedy builds up to a subset of
Python including conditions, loops, variables, and lists.
To make learning as accessible as possible, Hedy also allows for the
use of localized keywords, f.e in Spanish: imprimir Hello! Hedy
(www.hedy.org) was launched in early 2020 and over 5 million Hedy
progams have been created to date, and has been translated into 46
languages.
##### A Language-Based Approach to Programming with Serialized Data
-- Michael Vollmer, School of Computing, University of Kent, UK
It is common for software running today to use object representations
fixed by the language runtime system; both the Java and Haskell
runtimes dictate an object layout, and the compiler must stick to it
for all programs. And yet when humans optimize a program, one of their
primary levers on performance is changing data representation. For
example, an HPC programmer knows how to pack a regular tree into a
byte array for more efficient access. Unfortunately, this is
error-prone, making it an undesirable way to achieve performance
optimization at the expense of safety and readability.
Furthermore, whenever a program receives data from the network or
disk, rigid insistence on a particular heap layout causes an impedance
mismatch we know as deserialization. Data represented in memory has
pointers and arbitrary, sparse layout, while data on disk is packed
contiguously, so data must be transformed from one form to another and
back.
Programming with serialized data is a technique for unifying the
in-memory and on-disk representations of data, where the serialized
form is used both on-disk and in-memory. This technique allows data
processing programs to skip the deserialization/reserialization steps
by operating directly on the data in its serialized form. It also
represents a principled approach to optimizing programs by compacting
data representations, which increases locality and minimizes
indirection.
In this talk, I will present a programming language, LoCal, for
programming with serialized data. I will also describe Gibbon, an
experimental compiler that automatically transforms functional
programs to operate on serialized data.
##### Run-Time Verification of Communication Protocols in Clojure
-- Sung-Shik Jongmans, Open Universiteit, Nederlands
To simplify shared-memory concurrent programming, languages have
started to offer core support for high-level communications
primitives, in the form of message passing though channels, in
addition to lower-level synchronization primitives. Yet, a growing
body of evidence suggests that channel-based programming abstractions
also have their issues.
The Discourje project aims to help programmers cope with channels and
concurrency bugs in Clojure programs, based on dynamic analysis. The
idea is that programmers write not only implementations of
communication protocols in their Clojure programs, but also
specifications. Discourje then offers a run-time verification library
to ensure that channel actions in implementations are safe relative to
specifications.
Programme Chair
~~~~~~~~~~~~~~~
Stefan Monnier, DIRO, Université de Montréal, Canada
Programme Committee
~~~~~~~~~~~~~~~~~~~
Mark Evenson, not.org, Austria
Marco Heisig, Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
Ioanna Dimitriou, Igalia S.L., Germany
Robert Smith, HRL Laboratories
Mattias Engdegård
Marc Feeley, Université de Montréal, Canada
Marc Battyani, FractalConcept
Alan Ruttenberg, National Center for Ontological Research, USA
Nick Levine, RavenPack, Spain
Ludovic Courtès, Inria, France
Matthew Flatt, University of Utah, USA
Irène Durand, Université Bordeaux 1, France
Jay McCarthy, Brigham Young University, USA
Ambrose Bonnaire-Sergeant, Cisco
Christopher League, Long Island University, NY, USA
Pascal Costanza, Intel, Belgium
Christian Queinnec
Local Chair
~~~~~~~~~~~
Breanndán Ó Nualláin, Machine Learning Programs, Nederlands
--
Resistance is futile. You will be jazzimilated.
Lisp, Jazz, Aïkido: http://www.didierverna.info