11.25.08

Priorité à l’Enseignement et à la Recherche

Publié dans 34003 à 12:12 par yoric

« La mission Recherche et enseignement supérieur (23,4 Md€ en LFI 2008) constitue la première priorité budgétaire du Gouvernement. » Ça fait plaisir à entendre, non ?

Juste quelques petits chiffres qui viennent d’être précisés. La priorité à l’Enseignement et à la Recherche, promise par le gouvernement, cette année, c’est :

  • 450 emplois universitaires de catégorie C qui disparaissent (non, pas des chercheurs, juste ceux qui font marcher tout le reste autour, depuis la photocopieuse jusqu’aux toilettes, en passant par le courrier)
  • 450 postes de jeunes chercheurs (doctorants et post-doctorants) qui passent à la trappe, assurant ainsi glorieusement la relève de la recherche française — pour information, les dernières statistiques que j’ai trouvées parlent d’environ 10.000 soutenances par an
  • la fermeture annoncée d’unités CNRS
  • un financement par étudiant inférieur à la moyenne de l’OCDE (par comparaison, c’est moins de 45% de l’argent consacré en moyenne à chaque étudiant américain)
  • ah oui, et toujours la démission du gouvernement de son rôle universitaire.

C’est déprimant.

Bon, par honnêteté précisons tout de même que le nombre de Maîtres de Conférences a continué à augmenter l’année dernière (les chiffres de cette année ne sont pas encore disponibles, puisque la campagne n’est pas terminée). Bien entendu, les budgets, eux, diminuent par rapport à l’inflation.

11.20.08

OCaml Batteries Included: The Hierarchy, reloaded

Publié dans Informatique / Computer science, OCaml, Recherche / Research, batteries included tagged , , , , , , , , , à 8:12 par yoric

Well, my previous post on the Hierarchy of OCaml Batteries Included certainly triggered reactions. Essentially, judging from these, the OCaml community doesn’t seem to want of a module hierarchy. So here’s a reworked version of the library layout, without hierarchy. Again, feedback is appreciated and should go to the OCaml mailing-list.

Batteries

  1. Standard (automatically opened)
  2. Legacy
    1. Arg
    2. Array
  3. Future
    1. Lexers
      1. C
      2. OCaml

    I. Control

  4. Exceptions
  5. Return
  6. Monad Interfaces for monadic operations

    I.1. Concurrency

  7. Concurrency Interfaces for concurrency operations

    I.1.i. Built-in threads

  8. Condition
  9. Event
  10. Mutex
  11. RMutex
  12. Thread
  13. Threads A module containing aliases to Condition, Event

    I.1.ii. coThreads

  14. CoCondition
  15. CoEvent
  16. CoMutex
  17. CoRMutex
  18. CoThread
  19. CoThreads as Threads but with implementations coming from coThreads

    I.1.iii. Shared memory

  20. Shm_* Placeholders

    II. IO

  21. IO
    1. BigEndian
  22. GZip
  23. Bz2
  24. Zip
  25. Transcode

    III. Mutable containers

  26. Array
    1. Cap
      1. ExceptionLess
      2. Labels
    2. ExceptionLess
    3. Labels
  27. Bigarray
    1. Array1
    2. Array2
    3. Array3
  28. Dllist
  29. Dynarray
  30. Enum
    1. ExceptionLess
    2. Labels
  31. Global
  32. Hashtbl
    1. Make
      1. ExceptionLess
      2. Labels

    IV. Persistent containers

  33. Lazy
  34. List
    1. ExceptionLess
    2. Labels
  35. Map
    1. Make
      1. ExceptionLess
      2. Labels
  36. Option
    1. Labels
  37. PMap
  38. PSet
  39. RefList
    1. Index
  40. Queue
  41. Ref
  42. Set
    1. Make
      1. ExceptionLess
      2. Labels
  43. Stack
  44. Stream

    V. Data

  45. Unit

    V.1. Logical

  46. Bool
  47. BitSet

    V.2. Numeric

  48. Numeric Interfaces for number-related stuff
  49. Big_int
  50. Common
  51. Complex
  52. Float
  53. Int
  54. Int32
  55. Int64
  56. Native_int
  57. Num
  58. Safe_float placeholder
  59. Safe_int

    V.3. Textual

  60. Text Definition of text-related interfaces
  61. Buffer
  62. Char
  63. UTF8
  64. Rope
  65. UChar
  66. String
  67. StringText A module containing aliases to String and Char1
  68. RopeText As StringText but with implementations from Rope and UChar
  69. UTF8Text As StringText but with implementations from UTF8 and UChar
    1. Labels

    VI. Distribution-related stuff

  70. Packages
  71. Compilers

    VII. Internals

  72. Gc
  73. Modules
  74. Oo
    1. Private
  75. Weak
    1. Make

    VIII. Network (placeholders)

  76. URL
  77. Netencoding
    1. Base64
    2. QuotedPrintable
    3. Q
    4. URL
    5. Html

    VIII.1. Http

  78. Http
  79. Http_client
  80. Cgi_*
  81. Httpd_*
  82. MIME

    VIII.2. Ftp

  83. Ftp_client

    VIII.3. Mail

  84. Netmail
  85. Pop
  86. Sendmail
  87. Smtp

    VIII.4. Generic server

  88. Netplex_*

    VIII.5. RPC

  89. Rpc_*

    VIII.6. Languages

  90. Genlex
  91. Lexing
  92. CharParser
  93. UCharParser
  94. ParserCo
    1. Source
  95. Parsing
  96. Format
  97. Printf
  98. Str
  99. PCRE place-holder
  100. Scanf
    1. Scanning
  101. SExpr

    IX. System

  102. Arg
  103. File
  104. OptParse
    1. Opt
    2. OptParser
    3. StdOpt
  105. Path
  106. Shell
  107. Unix
    1. Labels
  108. Equeue

    X. Unclassified

  109. Digest
  110. Random
    1. State
  111. Date placeholder


1
Actually a slightly modified version of Char to match signatures for Latin-1 and Unicode

Et hop, une petite baffe au passage pour la Recherche

Publié dans En français / In French, Recherche / Research, Société tagged , , , , , , , , , , , , à 8:46 par yoric

Ça doit être pour bien préparer la grève d’ajourd’hui : notre gouvernement vient d’amputer le CEA de 28 millions d’euros qui auraient dû servir à finir la construction du synchrotron Soleil. Et pourtant, c’est pas comme s’il ne servait à rien, ce synchrotron soleil, avec des applications qui vont de la Recherche Fondamentale en physique des plasmas à l’étude de la toxicité de déchets en passant par l’élaboration de nouveaux médicaments (je tire tout ça de leur site web, personnellement, je n’y connais rien en physique des particules).

Ah non, tiens. il n’y a pas d’appel à la grève au CEA. Je dois m’être trompé. C’est probablement juste une économie de plus sur le dos de l’avenir. Au temps pour moi.

11.18.08

Les derniers jours de l’Enseignement et de la Recherche

Publié dans En français / In French, Enseignement, Recherche / Research, Réforme des universités, Société tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , à 10:03 par yoric

Depuis l’arrivée au pouvoir de notre Président Bien-Aimé, nous avons vu les mesures et les annonces contre l’enseignement et la recherche se multiplier. Bien entendu, l’enrobage est à chaque fois différent. Lorsque l’état abandonne sa mission d’enseignement dans les collèges, en xyloglotte, on dit “privilégier la qualité sur la quantité”. Lorsqu’il s’agit de supprimer plus de 10.000 postes par an dans l’éducation nationale et de diminuer les attentes sur le niveau des lycéens, en xyloglotte, on parle de “mieux préparer à l’enseignement supérieur“. C’est que l’enseignement supérieur n’est, fort heureusement, pas en reste, puisque la LRU (vous vous souvenez de la LRU ?), secondée par le Plan Pécresse, promet d’employer dans les universités des enseignants formés pour le secondaire, tout en diminuant les exigences en cours et en fin de licence, le tout à grands coups d’heures supplémentaires qui seront peut-être payées — ou peut-être pas. N’oublions pas, à ce prix-là, qu’on démantèle ouvertement la Recherche et qu’on s’autorise à augmenter arbitrairement la charge d’enseignement des chercheurs. Bien entendu, le sabrage dans la formation des élèves et des étudiants ne serait pas complet s’il ne s’agissait pas aussi de former moins les enseignants, qu’il s’agisse de professeurs des écoles (merci pour les insultes au passage), ou de de professeurs certifiés — dans ce dernier cas, le xyloglotte parle d’allonger l’enseignement, alors qu’il s’agit en tout et pour tout d’en supprimer la partie appliquée. Ah, et la petite dernière, c’est d’envoyer les enfants en maternelle plus tard : la maternelle, ça coûte trop cher.

Je ne perdrai pas de temps à jouer aux devinettes : que veut le gouvernement ? Quelles sont les mesures qui vont passer et quels sont les écrans de fumée agités pour faire avancer en douce la médiévalisation de la société ? Je ne sais pas. Peut-être que le gouvernement n’a pas de plan ou compte sur un miracle issu du secteur privé, peut-être que l’idée est de procéder comme en Grande-Bretagne ou aux États-Unis et d”importer du Tiers-Monde les enseignants, les chercheurs, les médecins, les ingénieurs, peut-être que l’idée est juste de grapiller assez d’argent pour pouvoir baisser les impôts juste avant les prochaines élections ou encore peut-être qu’on estime que les conséquences prendront tellement de temps à se faire remarquer qu’on aura oublié qui est derrière la liquidation.

En fait, peu importe. Ce qui compte, de plus en plus, c’est de résister. C’est pour cela que je vous invite à consulter les pétitions suivantes et c’est pour cela qu’il va falloir manifester, ce jeudi et probablement encore de nombreuses fois :

Et pour vous tenir informés, comme d’habitude

Batteries: reworking the hierarchy (feedback wanted)

Publié dans In English / En anglais, Informatique / Computer science, OCaml, Recherche / Research, batteries included tagged , , , , , , à 9:54 par yoric

As readers interested in OCaml may know, we’ve been working for several months of OCaml Batteries Included. Early in the development, it appeared to us that, with the large number of modules involved, we would need a hierarchy of modules.

For instance, for the moment, we have a module System containing among other submodules IO (definition of i/o operations), File (definition of operations on files), Sys (the usual OCaml Sys module, soon to be expanded), etc.  Therefore, before one may open and manipulate files, one has to do

open System.IO;;
open System.File;;

or, with the syntax extension we developed to alleviate this,

open System, IO, File;;

the syntax extension does a few other things which we’re not going to detail here — for one thing, it allows local opening of modules).

Now that we’ve reached Alpha 2 and are well on our way towards Alpha 3, we’ve decided that it’s time to rework our current hierarchy and make it shorter and more consistent. Before we proceed, we’d like some feedback from the community. Discussion will take place mostly on the OCaml mailing-list and on irc (server: Freenode, channel: #ocaml) but I preferred posting the hierarchy here for easier reading.

At the moment, our hierarchy looks roughly as follows:

Batteries (automatically opened)

  1. Control
    1. Concurrency
      1. Common
      2. Threads
        1. Condition
        2. Event
        3. Mutex
        4. Thread
    2. Exceptions
    3. Return
    4. Monad
  2. Data
    1. Containers (common interfaces)
    2. Mutable
      1. Array
        1. Cap
          1. Labels
          2. ExceptionLess
        2. Labels
        3. ExceptionLess
      2. Bigarray
        1. Array1
        2. Array2
        3. Array3
        4. Genarray
      3. Dllist
      4. Dynarray
      5. Enum
        1. ExceptionLess
      6. Global
      7. Hashtbl
        1. Make
          1. Labels
          2. ExceptionLess
      8. RefList
        1. Index
      9. Queue
      10. Ref
      11. RefList
      12. Stack
      13. Stream
    3. Logical
      1. Bool
      2. BitSet
    4. Numeric
      1. Big_int
      2. Common
      3. Complex
      4. Float
      5. Int
      6. Int32
      7. Int64
      8. Native_int
      9. Num
      10. Safe_int
      11. Unit
      12. Common
    5. Persistent
      1. Lazy
      2. List
        1. ExceptionLess
        2. Labels
      3. Map
        1. Make
          1. ExceptionLess
          2. Labels
      4. Option
        1. Labels
      5. PMap
      6. PSet
      7. Set
        1. Make
          1. ExceptionLess
          2. Labels
    6. Text
      1. Buffer
      2. Char
      3. UTF8
      4. Rope
      5. UChar
      6. String
        1. ExceptionLess
        2. Labels
  3. Languages
    1. CharParser
    2. Genlex
      1. Languages
        1. Library
          1. C
          2. OCaml
    3. Format
    4. Lexing
    5. ParserCo
      1. Source
    6. Parsing
    7. Printf
    8. Scanf
      1. Scanning
    9. SExpr
    10. Str
  4. Meta
    1. Callback
    2. CamlinternalMod
    3. CamlinternalOo
    4. Gc
    5. Obj
    6. Oo
    7. Weak
      1. Make
  5. Standard (automatically opened)
  6. System
    1. Arg
    2. Compress
      1. GZip
    3. File
    4. Filename
    5. IO
      1. BigEndian
    6. Network (placeholder)
    7. OptParse
      1. Opt
      2. OptParser
      3. StdOpt
    8. Unix
      1. Labels
    9. Sys
  7. Toolchain
    1. Execute
    2. Findlib
  8. Util
    1. Digest
    2. Random
      1. State
  9. Legacy

One possible replacement has been drafted:

  1. Control
    1. Concurrency
      1. Common
      2. Threads
        1. Condition
        2. Event
        3. Mutex
        4. Thread
      3. Exceptions
      4. Return
      5. Monad
  2. Data
    1. Containers
      1. Common
      2. Array
        1. Cap
          1. ExceptionLess
          2. Labels
        2. ExceptionLess
        3. Labels
      3. Bigarray
        1. Array1
        2. Array2
        3. Array3
        4. Genarray
      4. Dllist
      5. Dynarray
      6. Enum
        1. ExceptionLess
        2. Labels
      7. Global
      8. Hashtbl
        1. Make
          1. ExceptionLess
          2. Labels
      9. Lazy
      10. List
        1. ExceptionLess
        2. Labels
      11. Map
        1. Make
          1. ExceptionLess
          2. Labels
      12. Option
        1. Labels
      13. PMap
      14. PSet
      15. RefList
        1. Index
      16. Queue
      17. Ref
      18. RefList
      19. Set
      20. Make
        1. ExceptionLess
        2. Labels
      21. Stack
      22. Stream
    2. Logical
      1. Bool
      2. BitSet
      3. Unit
    3. Numeric
      1. Interfaces (formerly Common)
      2. Big_int
      3. Common
      4. Complex
      5. Float
      6. Int
      7. Int32
      8. Int64
      9. Native_int
      10. Num
      11. Safe_int
    4. Text
      1. Buffer
      2. Char
      3. UTF8
      4. Rope
      5. UChar
      6. String
        1. Labels
  3. Distro
    1. Packages (formerly Findlib)
    2. Tools (formerly Execute)
  4. Internals
    1. Callback
    2. Gc
    3. Mod (formerly CamlinternalMod)
    4. Obj
    5. Oo
      1. Private (formerly CamlinternalOo)
    6. Weak
      1. Make
  5. IO
    1. BigEndian
    2. Gzip
    3. Bz2
    4. Zip
    5. Transcode (placeholder)
  6. Network (placeholder)
  7. Text (formerly Languages)
    1. Lex
      1. Genlex
        1. Languages
          1. C
          2. OCaml
      2. Lexing
    2. Parse
      1. CharParser
      2. UCharParser
      3. ParserCo
        1. Source
      4. Parsing
    3. Pretty
      1. Format
    4. Printf
    5. Regexp
      1. Str
      2. PCRE (in the future)
    6. Scanf
      1. Scanning
    7. SExpr
    8. XML (placeholder)
  8. Standard (automatically opened)
  9. Sys
    1. Arg
    2. File
    3. OptParse
      1. Opt
      2. OptParser
      3. StdOpt
    4. Path (formerly Filename)
    5. Shell (formerly Sys)
    6. Unix
      1. Labels
  10. Util
    1. Digest
    2. Random
      1. State
  11. Legacy

The overall goal, with this new version, is to make for

  • a shallower hierarchy
  • shorter module names
  • more consistent groups of modules.

What do you think of this replacement? Is it any better?

11.12.08

Et le flicage sur Internet, c’en est où ?

Publié dans En français / In French, Enseignement, Société tagged , , , , , , , , , , , , , à 6:55 par yoric

C’est terrible comme je n’ai pas le moral à bloguer sur les questions d’actualité ces jours-ci, probablement parce qu’il y a trop à faire et parce que notre gouvernement n’a visiblement pas la moindre intention d’écouter les réactions des citoyens.

Tout de même, un petit mot sur la liberté d’expression sur Internet. Là, notre gouvernement joue à “un pas vers le gouffre”, “un autre pas vers le gouffre”. Je ne doute pas que, conformément aux habitudes gouvernementales, l’un des deux pas se retrouve annulé au profit de l’autre. L’avenir nous dira lequel.

Un pas vers le gouffre

La loi sur la justice privée surveillance sur Internet riposte graduée a été votée il y a quelques jours par le Sénat, en première lecture. Récemment, nous avons appris que la CNIL avait émis un rapport franchement hostile à cette loi, rapport que le gouvernement avait préféré ne pas publier.  Le Sénat en a profité pour durcir la loi et, tout de même, ajouter quelques garanties d’indépendance, sans revenir ni sur la double peine, ni sur les sanctions envers les utilisateurs décidées par les entreprises privées presque sans intervention de la justice.

Et un autre

On ferme des postes dans l’Éducation Nationale et on diminue les moyens des enseignants mais, heureusement, l’argent n’est pas perdu pour tout le monde : 220.000 euros pour surveiller les réactions aux réformes, « repérer les repérer les leaders d’opinion, les lanceurs d’alerte et analyser leur potentiel d’influence et leur capacité à se constituer en réseau; décrypter les sources des débats et leurs modes de propagation; anticiper et évaluer les risques de contagion et de crise ». Ajoutons l’ironie au flicage, puisque tout ceci est l’œuvre d’un ministère bien connu pour ne pas écouter les réactions à ses réformes.

Pour finir, l’image du jour

11.10.08

OCaml Batteries Included: Alpha 2 has landed

Publié dans Enseignement, In English / En anglais, Informatique / Computer science, OCaml, Recherche / Research, batteries included tagged , , , , , , , , , , , , , , , , , , , , à 8:20 par yoric

note: There seems to have been a WordPress bug. For some reason, the extended release notes on OCaml Batteries Included were replaced by something quite unrelated. My apologies for this.

Dear programmers, I am happy to inform you that the second alpha release of OCaml Batteries Included has landed. You may now download it from the Forge. A GODI package is also available and a Debian package should follow soon (you should be able to find the old one here) and you can read the documentation on-line.

So, what’s new in this release?

Lisez la suite de cette entrée »

11.07.08

A taste of OCaml Batteries Included

Publié dans Enseignement, In English / En anglais, Informatique / Computer science, OCaml, Recherche / Research, batteries included à 6:14 par yoric

I don’t know about you, but I have the feeling that many people are interested by OCaml Batteries Included but don’t dare try it yet, due to the Alpha status and the fact that it’s not available for their favorite Linux distribution yet. Well, it’s probably a healthy level of caution.

Of course, just reading the manual is probably not the best way of getting a feeling of OCaml Batteries Included.

So I’ve decided to take measures. From time to time, I’ll add here a few samples of what you can do with OCaml Batteries Included and how you can do it.

Lisez la suite de cette entrée »

11.06.08

OCaml — now with on-line help

Publié dans Enseignement, In English / En anglais, Informatique / Computer science, OCaml, Recherche / Research, batteries included tagged , , , , , , , , , , à 11:34 par yoric

I’m happy to tell you that the on-line help system for the OCaml toplevel has just been committed to our new  git repository.

Lisez la suite de cette entrée »