In my personal time, I develop theories and software for creating machines that will live their own lives and take care of themselves. The emphasis is on developing a general form of proto-intelligence first, and not any specific application. This endeavor is more of an art project than an industrial project, as ultimately it is about creating artificial individuals, not tools.
Minimal Dictionary (2020-): small dictionary of basic terms loosely related to natural and artificial minds and their interaction with the world. It is structured as a DAG, forbidding cyclic definitions.
Artificial cognition glossary (2019-): glossary of technical terms used in my own work on designing artificial minds.
These original ideas come with some implementation that works, but aren’t widely known or used by many. Work would be needed to publicize them or make them widely accessible.
vanity (2020): Validation and formatting of acyclic dictionaries. The goal is to allow thinkers to present their respective world views in a concise and unambiguous manner, without resorting to mathematical formalism.
unpurple (2012): An algorithm for removing purple-fringe defects from photos. Now available to all in GIMP via G’MIC.
dutop (2011): A command for identifying the subtrees which take up the most space in a file system. Typically used when running into “no space left on device” errors.
wcl (2011): A command for estimating the number of lines of large files. Useful when dealing routinely with 100,000,000 records or more.
Notable open-source projects
These tools have been or were used professionally by multiple independent users. They were all initiated by me, with or without support from an employer.
dune-deps (2020): Extracts a useful dependency graph from an OCaml project.
atd (2010): Code generator for making JSON pleasant and flexible to use with OCaml. Comes with its own type definition language designed to be adaptable to various data formats and programming languages.
yojson (2010): JSON parsers supporting atd. Turned out to be widely used as is by many OCaml users.
cppo (2009): Straightforward C-style preprocessor for OCaml. Used typically as a last resort to deal with compatibility issues across different versions of libraries.
mikmatch (2004, defunct): extension of OCaml’s ML-style pattern-matching syntax with regexps. Was based on Camlp4 which since has fallen from grace.
Structural bioinformatics (2000-2007)
For my PhD and postdoc, I worked on tools to study the 3D structure of proteins. While my postdoc experience wasn’t a thrill scientifically speaking, I some moderate success with my PhD work in France.
The SuMo project (2000-2003) was an attempt to identify local similarities among unrelated 3D structures of proteins, in the hope that they would share a similar biological function.
This involved complex heuristics for somewhat limited results. It permanently convinced me that a system capable of forming its own intuition about the behavior of proteins would be the key to solving this problem, and many others.
In the process, I became a scientific poster enthusiast. Here’s an example of my creations, which I presented at an international conference in 2005:
Publications relevant to the SuMo project:
Jambon, M. A bioinformatic system for searching functional similarities in 3D structures of proteins. Doctoral thesis. Université Claude Bernard - Lyon 1. June 20, 2003 [French original].
Jambon, M. and Imberty, A. and Deleage, G. and Geourjon, C. A new bioinformatic approach to detect common 3D sites in protein structures. Proteins 2003 Aug 1; 52(2):137-45.