05/06/2013

Refondons l'école, oui mais...

Lettre ouverte à Olivier Faure, Député de la 11e circonscription de Seine-et-Marne

Bonjour M. le Député,
Je viens d'appendre que l'amendement n° 359 déposé par le gouvernement sur le projet de loi de refondation de l'école a été voté par l'assemblée.
Je suis profondément déçu qu'un tel amendement, ouvertement en faveur d'intérêts privés, soit d'abord proposé par un gouvernement socialiste, et ensuite accepté par une majorité, également socialiste.
Les firmes multinationales n'ont pas leur place dans le monde de l'éducation. Nos enfants ne doivent pas être habitués dès leur plus jeune âge à utiliser les outils particulier d'éditeurs privés, d'autant que des alternatives fiables sont disponibles et que certaines font partie du patrimoine mondial (le projet GNU).
Je vois, à travers cette décision l'influence des lobbies au détriment de l'intérêt général et je ne peux que continuer à m'inquiéter des dérives que cela peut entrainer (et des conséquences comme les affaires Cahuzac ou Gueant, qui ne sont pour moi que la partie visible de l'iceberg).
C'est une triste nouvelle pour le logiciel libre et pour l'image que cela donne quant à la perméabilité de l'exécutif aux lobbies du logiciel propriétaire.
Si demain les entreprises de retraitement des eaux usées affirment que l'obligation de fournir de l'eau potable au robinet handicape gravement leurs efforts de développement, augmentent le risque de recours contentieux entre les opérateurs privés du secteur et les administrations ou dissuade l'innovation et entravent la croissance et la création d'emplois, les députés légaliseront-ils la distribution d'eau croupie dans les foyers ?  J'en doute, mais en sommes-nous vraiment à l'abri ?
Aussi, j'attends, monsieur le Député, que vous m'exposiez votre point de vue sur cet amendement, et les arguments qui ont été avancés en sa faveur.
Cordialement

09/05/2012

Copier c'est pas voler

Un petit clip de Nina Paley (Images, melodies et paroles originales en Anglais), traduction en Français par mes soins. Enregistrement et arrangements : ostudio, avec la voix d'Ariane...


07/11/2011

Dart or not dart ?

Google released Dart.
I was focusing on coffee when it occurs.

Today i've read the first code example, thought :
  • Dart's blocks are delimted with brackets ({})
  • Instruction is terminated by a semicolon (;)
Most of modern language design avoid thoses symbols who are complicating code and syntax. Look at Python or CoffeeScript :
  • Blocks are delimited using indentation --> this causes the developer to write indented code --> readability
  • Instruction is terminated by EOL character --> this causes the developer to use a single line for an instruction

I wonder why Dart (a newer language, which came more than 20 years after Python) still uses these syntaxic useless rules....

I'll rather use CoffeeScript, which, like Dart, compiles to js, and which, unlike Dart, allows you to use your existing javascript without limitations...

07/10/2011

Implement Python decorators in CoffeeScript

After wondering about expressive coffeescript support for metaprogramming, we've found with @fredZen some pattern for simulating some features like decorators, as found in Python
What is a decorator in python : simply a wrapper for a function, (a function which takes a function as parameter and returns a function, no wizardry here, coffeescript can do it), so let's write our wrapper :



# wrap is like a python decorator
wrap = (func) ->
    rf = (args...)-> # declare a function to wrap func
        alert "before func"
        func(args...)
    rf.wrapped = true # Tag our wrapped function (for a later use)
    rf # Returns the wrapped function

So here we have a simple function for wrapping, we can use it in a class like this :

class Toto # class Toto has metaclass 'registered'
    func1: wrap -> # decorator wrap of func1
        alert "hello func1"

# Example run
toto = new Toto() 

toto.func1()
Running this will alert a first message : 'before func' then another alert 'hello func1'.

It's a first step for wrapping function, but we can go further and use the flag by wrapping the class declaration :


# Registered acts as a wrapper for class declatation, it occurs after type construction
registered = (klass) ->
    klassName = klass.toString().match(/function ([^\(]+)/)[1] # Grab name of the class
    for name, f of klass.prototype
       if f.wrapped
          alert klassName + 'has wrapped func ' + name
registered class Toto # wrapping class Toto
    func1: wrap -> # decorator wrap of func1
        alert "hello func1"
    func2: ->
        alert "hello func2"


toto = new Toto()
toto.func1()
toto.func2()
Running this will alert :
  • 'Toto  has wrapped func func1'
  • 'before func'
  • 'hello func1'
  •  'hello func2'
It's some solution to the problem I have in my previous post, but it doesn't solve everything, as the class wrapper is just a wrapper, i'd like to have any extended class from Toto running the wrapping code without specifying the wrapper before class declaration, just like in metaprogramming.

04/10/2011

CoffeeScript, it could be a great story, but...

Oh yeah, CoffeeScript is nice and sexy, it allows to write javascript quickly, but...

It's missing some important features I need for KaraCos implementation.

Context :
KaraCos exposes node objects from a node tree on top of the HTTP protocol.
Some object methods can be accessed from HTTP using a REST API. Each node can expose a WSDL or equivalent.
KaraCos dynamically assign an object type to a Node from one of it's attribute in the content repository.
To achieve such task, i used in Python some metaclass, so i could assing a particular type of 'class' to a déclared class, and then trigger some internal action at class declaration (registering the type as a data-linked type then gives the db wrapper a registry to allow him to choose corresponding class).

This META programming aspect is missing from coffee, let's watch the coffeescript example of class and it's generated part :

Look at how class Animal is converted to js, my need is to add some treatment just before the return Animal statement. From the example of python, metaclass allows as well to wrap class constructor with some generic function.

Today there is no way for a CoffeeScript programmer to achieve metaprogramming. I'm right now studying the coffee anotated source to find how i could extend it a bit, but this is my first compiler experience. Hopefully, @FredZen gives me some help, are there any other volunteer for such a challenge ?

CoffeeScript will then look much more appropriate (and flexible), don't you think ?

30/09/2011

à propos des primaires, et des éléctions

Je ne cautionne pas ce principe des primaires socialistes, en effet, l'utilisation faite de l'espace médiatique déstabilise le parti en faisant se battre les ténors pendant un temps pour les voir ensuite se réconcilier (ou pas) derrière le candidat intronisé.

Une primaire, et le modèle représentatif dans son ensemble d'ailleurs, accentue les divergences et induit (encore et encore) la  compétition au lieu de la collaboration, ce qui va dans le sens de l'égoïsme, mal dont notre société est malade,  et contribue au développement des égo surdimensionnés pour des personnalités devenues malades de cette excroissance trop encombrant et dont la société souffre, tout nous faisant, de plus, croire qu'un être seul et fort doit représenter, dominer, ou décider pour les soit disant plus faibles.

Le concept de socialisme est profondément bafoué et dénaturé, là ou l'exemple de l'entraide et la collaboration devrait être donné, nous ne voyons qu'une guéguerre de personnes ou chacun tente de tirer le plus la couverture à lui pour obtenir le privilège de la fonction suprême.

31/03/2011

Commentaire sur IPRED

Ma contribution à la consultation lancée sur la révision de la directive IPRED (c'est quoi IPRED) :
à la lecture de la proposition de révision de la directive IPRED, j'ai ressenti, en tant que citoyen, un profond malaise.Le projet porté dans cette proposition vise à transformer les fournisseurs de services en ligne (moteurs de recherche, service d'hébergement de contenu, etc.) ainsi que les fournisseurs d'accès en police privée du copyright au mépris des libertés du citoyen et de la liberté d'expression.
La pression juridique qui sera exercée sur ces acteurs les conduirait au filtrage et à la censure de tout contenu pouvant être mis en ligne.
Il se trouve cependant que, selon une étude de HADOPI, que les dits "pirates" sont ceux qui consomment le plus de biens culturels ( http://www.hadopi.fr/actualites/agenda/presentation-de-l-etude-hadopi-a-cannes-lors-du-midem-23-janvier-2011.html - page 45).
Il se trouve également que le partage n'est pas aussi préjudiciable que ce qu'en disent les ayant droits. Une étude de l'université d'amsterdam avance même que le partage dit "illégal" de fichiers bénéficierai aux ventes de musiqe, films, et jeux vidéo (http://www.ivir.nl/publications/vaneijk/Communications&Strategies_2010.pdf - mai 2010).
De nombreuses études dans différents pays font ressortir que les consommateurs trouvent le prix des offres de téléchargement légal "trop chères", "pas assez transparentes" et "abusives" vis à vis de l'artiste, les principaux bénéficiaires de ces ventes sont les maisons de disques qui pratiquent des marges similaires a celles percues sur un bien matériel, alors que ce qui est vendu est un immatériel au frais de copie nul.
Synthèse des études publiées sur le partage de fichiers : http://www.laquadrature.net/wiki/Etudes_sur_le_partage_de_fichiers
La proposition de révision de l'IPRED ne sera bénéficiaire qu'à un petit groupe d'entreprises déjà majoritairement écrasantes sur le marché.Cette proposition va rendre encore plus difficile l'émergeance de jeunes talents en dehors du "moule" des industries du divertissement établies, alors qu'internet et le partage offrent des opportunités de développement inédites. Il serait malheureux d'enlever à notre jeunesse un tel tremplin.
En effet, la proposition de révision de la directive IPRED ne tient compte que des musiques de marché, quel va être le status et la protection d'un artiste qui désire simplement partager son art ?
le partage est illégal... Analysons rapidement le contenu de cette assertion :Le partage : C'est ce qui soude nos sociétés : le partage des tâches dans une entreprise, la partage des valeurs et des traditions dans une communauté, le partage des ressources dans la famille. Les premières communautés humaines on existé et perduré dans le partage et la mise en commun.illégal : ce que nos sociétés n'acceptent pas.
Le partage de biens culturels est illégal - à l'extrème, je n'ai plus le droit de prêter un livre ? Que faire si je veux faire écouter un morceau à quelqu'un qui ne l'a jamais entendu ?Le bien culturel, l'idée circule, se fait connaitre et vit grâce au partage, à l'inverse, une idée meurt lorsqu'elle n'est plus partagée.
Légiférer contre le partage, ciment de nos sociétés, ne sera vu que comme un pas de plus de notre civilisation vers une chute probable, essayant frénétiquement de résister aux changements qu'a amené Internet, en essayant d'appliquer au monde virtuel des lois qui ne sont valables que dans le monde matériel, pour des biens matériels, au lieu d'essayer de s'adapter et en profiter pour evoluer vers quelque chose de plus grand.Internet nous offre l'abondance des biens virtuels (fichiers, logiciels) qui sont multipliables à l'infini, les lois anti-copyright veulent créer la rareté là où il y a naturellement abondance, et c'est quelque part un non-sens quand nos ancêtres se sont efforcés de créer l'abondance de biens matériels là ou il y avait la rareté.
La révision d' IPRED en l'état inflige aux citoyens un préjudice pour leur libertés individuelles, et donne un avantage conséquent aux groupes concentrés au sommet de la pyramide du business de l'industrie du divertissement, mais ne favorisera pas la création artistique, ni n'améliorera les condition de vie de la majorité des artistes (précaires avant tout, ceux qui s'expriment publiquement sont les mieux lotis mais ne sont qu'une minorité qui monopolise la majorité de l'audience).
Verrouiller Internet par la pression sur les intermédiaires techniques est une dérive dangereuse au seul bénéfice de ces corporations et contre le citoyen et ses droits.
La répression n'a pour effet que de créer de nouveau délinquants, nous devons à tous prix trouver des alternatives viables qui favorisent la création et garantissent les libertés fondamentales des droits de l'homme, et je vous prierai de considérer les proposition faites par la quadrature du net en réponse à cette consultation.
J'espère que ce commentaire pourra faire avancer le débat dans le bon sens et que l'intéret de chaque citoyen ne sera pas eclipsé par les intérets particuliers des quelques plus forts comme c'est malheureusement trop souvent le cas dans de trop nombreux endroits.
Vous aussi faites part de vos commentaires à la comission européenne.