[Grml] J'ai l'inux nom de code Canterbury

chris21.roux at free.fr chris21.roux at free.fr
Tue Nov 5 23:19:44 CET 2013



----- Mail original -----
De: grml-request at ml.grml.org
À: grml at ml.grml.org
Envoyé: Vendredi 27 Septembre 2013 12:00:02
Objet: Grml Digest, Vol 95, Issue 9

Send Grml mailing list submissions to
	grml at ml.grml.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://ml.grml.org/mailman/listinfo/grml
or, via email, send a message with subject or body 'help' to
	grml-request at ml.grml.org

You can reach the person managing the list at
	grml-owner at ml.grml.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Grml digest..."


Today's Topics:

   1. J'ai l'inux nom de code Canterbury (chris21.roux at free.fr)
   2. Re: J'ai l'inux nom de code Canterbury (Thomas K?hler)


----------------------------------------------------------------------

Message: 1
Date: Thu, 26 Sep 2013 22:48:44 +0200 (CEST)
From: chris21.roux at free.fr
To: grml at ml.grml.org
Subject: [Grml] J'ai l'inux nom de code Canterbury
Message-ID:
	<1799077990.27381246.1380228524139.JavaMail.root at spooler6-g27.priv.proxad.net>
	
Content-Type: text/plain; charset=utf-8

Le projet "J'ai l'inux" vise ? proposer une distribution Linux capable de filter les contenus notamment pornographiques, pour une utilisation ? l'?cole.

Pour filtrer les contenus, il est n?cessaire d'intervenir ? l'int?rieur du syst?me pour intercepter les contenus ? filtrer (on ne peut pas intervenir au niveau des trames r?seau car ? ce niveau les contenus ne sont pas interp?tables).

J'ai pens? ? utiliser des machines virtuelles pour d?l?guer ? chaque machine virtuelle une portion sp?cifique du syst?me ? assurer.

Cette id?e est n?e d'un poisson d'avril (April's fool joke) qui annon?ait le projet Canterbury, visant ? r?unir le meilleur de 5 distributions Linux dans une nouvelle distribution. En tant que chr?tien, je suis tr?s sensible aux poissons d'avril qui ont pour objectif de se moquer des chr?tiens. J'ai donc choisi ces 5 distributions et j'ai fait un prototype de test 64 bits:
- Archlinux pour l'interface homme-machine et la virtualisation
- Gentoo pour la compilation
- Grml pour les entr?es-sorties
- Open-Suse pour les applications
- Debian pour les applications 32 bits et la mod?lisation

L'id?e sous-jacente ? ce projet, c'est un module noyau ? d?velopper qui permettra de router les appels syst?me vers chaque distribution en fonction du type d'appel syst?me et du r?le de chaque distribution dans le syst?me.

Le pattern MVCA (Mod?le= donn?es, Vue=ihm, Controleur=noyau, Action=application) est utilis? entre Archlinux, Grml et OpenSuse.

Le filtrage de contenu s'effectue entre les applications et les vues gr?ce au module noyau qui intercepte les donn?es ? filtrer et les dirige vers un filtreur hors noyau. Le filtreur applique des outils sur les donn?es pour d?cider si elles seront autoris?es ou non.

Pour d?velopper le filtreur, un nouveau langage, Pmal, est ? cr?er. On a besoin d'un nouveau langage qui doit ?tre capable de faire ?voluer ses programmes sans avoir ? les interrompre. Ce langage sera bas? sur du typage fort, pour assurer la s?curit? du syst?me. J'ai imagin? un langage de glue pour faire ?a.

Il s'agit d'un langage qui fait un usage important de la r?flexivit?: il connait ses constituants et peut agir dessus.
Il est bas? sur le principe des conteneurs l?gers: les classes composantes sont assembl?es par inversion de controle. Chaque composante ne connait pas avec quel composant il sera reli? dans les conteneurs l?gers.

Exemple: un objet A est reli? ? un objet de type D sur lequel il invoque une m?thode b pour imprimer. A ne sait pas de quelle classe est l'objet de typez D. De D, 2 classes h?ritent: B et C, pour 2 imprimantes diff?rentes. Chaque classe B et C poss?de un objet M?thode impl?mentant la m?thode b. Cet objet M?thode porte des attributs "tags" qui le d?crivent.
Par exemple B a un tag "600dpi" et C a un tag "300dpi".
Lorsque A demande a ex?cuter b, b est intercept? par le conteneur l?ger qui va filter les candidats possibles en fonction des tags. Finalement, le conteneur l?ger choisira B pour optimiser la qualit? d'impression, sans que A se soit jamais dout? de rien.
On pourra aussi avoir un objet proxy qui intercepte les requ?tes b et les envoie de mani?re asynchrone.
Ou encore, un compteur d'appels de m?thode incr?mental pour d?tecter les boucles infinies et les r?soudre en analysant le code invoqu? et en proposant une approximation si elles tendent vers une limite.
Par exemple on pourra r?soudre le paradoxe de Z?non:
Achille et la tortue font une course : Achille va 2 fois plus vite que la tortue. Chaque fois que Achille parcours la distance qui le s?pare de la tortue, celle-ci parcours la moiti? de cette distance. Ainsi une nouvelle distance plus petite les s?pare...
La r?cursion est infinie. Si on compte les appels r?cursifs avec une interruption par exemple au bout de 10 it?rations, en analysant le code on peut d?duire que la limite tend vers 0 et retourner cette r?ponse comme approximation et mettre fin ? la boucle. Si il n'y a pas de limite on interrompra aussi la boucle pour ?viter un engorgement syst?me.

Avec le niveau d'abstraction o? une m?thode est un objet on pour attacher cette m?thode ? un seul objet sans l'attacher ? tous les objets de sa classe, ? des fins de tests. Une fois test?e, cette m?thode pourra ?tre g?n?ralis?e ? toute la classe. A ce moment, la m?thode sera intercept?e par un proxy, puis mise en place, puis activ?e en d?bloquant le proxy, permettant ainsi une ?volution du code et des classes du programme sans interruption.

De plus, bien que fortement typ?, ce langage pourra ?tre ex?cut? par du javascript, du fait de son niveau d'abstraction : les objets, les classes, les attributs et les m?thodes sont tous des objets manipulables.

Actuellement, je dispose d'un prototype faisant fonctionner les 5 distributions ensemble. J'ai presque termin? le compilateur pour les m?thodes du langage en Java 1.5.

Il faut d?velopper l'ensemble du langage Pmal, le module du noyau pour router les appels syst?me et aussi un gestionnaire de paquets pour l'ensemble du syst?me avec les 5 distributions.

Il s'agit d'un travail ?norme, mais le proverbe dit: "La foi d?place des montagnes".

Contactez-moi si vous d?sirez participer: chris21.roux at free.fr subject "J'ai l'inux".


------------------------------

Message: 2
Date: Fri, 27 Sep 2013 08:28:13 +0200
From: Thomas K?hler <jean-luc at picard.franken.de>
To: grml at ml.grml.org
Subject: Re: [Grml] J'ai l'inux nom de code Canterbury
Message-ID: <20130927062813.GA15925 at picard.franken.de>
Content-Type: text/plain; charset=iso-8859-1

Hello,

First thing: I did learn some French at school, but that was two
decades ago. I might completely misunderstand everything here. It
might even be that this whole thing is an April's fool that went
wrong (in regards to the calendar, that is). Just a few random
thoughts from my side follow anyway.

chris21.roux at free.fr wrote:
> Le projet "J'ai l'inux" vise ? proposer une distribution Linux
> capable de filter les contenus notamment pornographiques, pour
> une utilisation ? l'?cole.

If I understand this correctly, you want to filter out
pornographic material at school, and the target is to create a
linux distribution for this application.

Answer from c.roux:
*******************
I want to filter pornography and other perversions, based on 
content analysis, so this 
explains why I need a new distribution: it is not possible to 
analyse an image content at network level. The MVC pattern allows
to filter content at the moment when the application sends the 
image to the view, inside the whole system.
I developed a multi-virtual machines system in order to have one
for the application, another for the view and a third for input
and output, allowing to filter at the communication level between
the virtual machines.
*******************

> Pour filtrer les contenus, il est n?cessaire d'intervenir ?
> l'int?rieur du syst?me pour intercepter les contenus ? filtrer
> (on ne peut pas intervenir au niveau des trames r?seau car ? ce
> niveau les contenus ne sont pas interp?tables).

If I understand this correctly, you thing you can only do this on
the system itself, because you think it's not possible to
intervene at the network layer.
Well, actually, it is. If you connect your systems to the
internet via a firewall, you can block everything you want. You
can also install a transparent proxy, and your proxy may well be
able to filter content. You could use junkbuster for this.

> J'ai pens? ? utiliser des machines virtuelles pour d?l?guer ?
> chaque machine virtuelle une portion sp?cifique du syst?me ?
> assurer.

Of course you can use virtual machines for what you want to
achieve, but it seems unnecessary here.

> Cette id?e est n?e d'un poisson d'avril (April's fool joke) qui
> annon?ait le projet Canterbury, visant ? r?unir le meilleur de
> 5 distributions Linux dans une nouvelle distribution.

So your idea is born from an April's fool joke, but in the end,
it looks like one itself.

> En tant que chr?tien, je suis tr?s sensible aux poissons
> d'avril qui ont pour objectif de se moquer des chr?tiens.

For this sentence, I needed google's translate in order to
possibly make sense of it, but then I quite don't. "As a
Christian, I am very sensitive to April's fool jokes which aim to
make fun of Christians."
Well, as a Christian I don't see how this "5 Linux distributions
now become one in the Canterbury project" aims to make fun of
Christians. Furthermore, there are quite a few possible
explainations on how the "April's fool jokes" emerged, but none
of the ones I know particularly targets at Christians. You might
to choose to explain this sentence again (in English) so that I
might have a chance to really understand what you wanted to say.

answer from c.roux:
*******************
The origin of April's fool jokes is based on 1st of April day,
close to Easter. On that day, people stick a fish (symbol of 
christans) on the back of christians. The joke is the following:
try to make beleive false things to those people, in order to
discredit christians as people who beleive everything even the
resurrection of Christ.
******************

> J'ai donc choisi ces 5 distributions et j'ai fait un prototype
> de test 64 bits:
> - Archlinux pour l'interface homme-machine et la virtualisation
> - Gentoo pour la compilation
> - Grml pour les entr?es-sorties
> - Open-Suse pour les applications
> - Debian pour les applications 32 bits et la mod?lisation

So you use 5 distributions in order to do 5 different jobs in one
single project.
I believe this is an April's fool joke just because it seems so
stupid to select 5 different methods of administrating your
systems (all those distributions use their own toolset for
configuration, apart from Grml and Debian, as Grml is built on
top of Debian) just in order to use all of them in one single
project.

answer from c.roux:
*******************
This idea is defined in the April fool's joke:
try to use the best of each distribution as specialized in a 
specific task.
*******************
> L'id?e sous-jacente ? ce projet, c'est un module noyau ?
> d?velopper qui permettra de router les appels syst?me vers
> chaque distribution en fonction du type d'appel syst?me et du
> r?le de chaque distribution dans le syst?me.

If I understand this correctly, you want to route systems calls
to each distribution dependend on the role of the distribution in
your project. Somehow, that doesn't make any sense to me.

answer from c.roux:
*******************
Can you explain why?
*******************

> Le pattern MVCA (Mod?le= donn?es, Vue=ihm, Controleur=noyau,
> Action=application) est utilis? entre Archlinux, Grml et
> OpenSuse.
> 
> Le filtrage de contenu s'effectue entre les applications et les
> vues gr?ce au module noyau qui intercepte les donn?es ? filtrer
> et les dirige vers un filtreur hors noyau. Le filtreur applique
> des outils sur les donn?es pour d?cider si elles seront
> autoris?es ou non.

Seems you also want to create a kernel module to decide what to
intercept when. I don't see how this should be necessary.

answer from c.roux:
*******************
Can you develop. Any save of time is interesting me.
*******************

> Pour d?velopper le filtreur, un nouveau langage, Pmal, est ?
> cr?er. On a besoin d'un nouveau langage qui doit ?tre capable
> de faire ?voluer ses programmes sans avoir ? les interrompre.
> Ce langage sera bas? sur du typage fort, pour assurer la
> s?curit? du syst?me. J'ai imagin? un langage de glue pour faire
> ?a.

For the filter, you seem to want to create a new language (which
you call Pmal) that should be able to intercept what a program
does without actually disturbing the program. Sounds like "let's
reinvent something like strace, but add the possibility to change
the system calls' return values on the fly". That's actually
something every virtualisation does in some way or another, but
not for filtering content, but for intercepting and filtering
hardware access. I still think it's better to use junkbuster and
friends.

answer from c.roux:
*******************
I am not a wizard. If I post this message, it is because I need
help.
*******************

[language specification ideas deleted]
> De plus, bien que fortement typ?, ce langage pourra ?tre
> ex?cut? par du javascript,

If you want to run a language in javascript, you usually aim at
running the stuff on the browser end. You should be aware,
however, that at the browser end, the USER is in control and can
modify your stuff however HE sees fit, especially circumventing
any blocking or filtering that happens on that level.

answer from c.roux:
*******************
Can javascript be used outside a browser?
*******************

In the end of the day, I still think I didn't understand what you
really want to achieve (no wonder, as I didn't use French in 20
years), but if I understood any of your intentions correctly, I
just would think twice if there isn't an easier way to achieve
your goals.

answer from c.roux:
*******************
Thanks for your advices, and I hope to convince you to join the
project.
*******************

Bye,

Thomas

-- 
 Thomas K?hler       Email:       jean-luc at picard.franken.de
     <><             WWW:              http://gott-gehabt.de
                     IRC: tkoehler       Freenode: thkoehler
                     PGP public key available from Homepage!


------------------------------

_______________________________________________
Grml mailing list - Grml at ml.grml.org
http://ml.grml.org/mailman/listinfo/grml
join #grml on irc.freenode.org
grml-devel-blog: http://grml.supersized.org/

End of Grml Digest, Vol 95, Issue 9
***********************************


More information about the Grml mailing list