La France et le financement de l'innovation

25.06.10 | par Le Grincheux | Catégories: Mauvaise humeur

Le problème actuel de toute PME est de survivre aux aléas de la vie économique qu'elle ne fait que subir. Le problème actuel français n'est pas dû directement à la crise des prêts hypothécaires américains mais à un mal bien plus profond. Cette crise actuelle n'est que la conséquence d'un défaut vieux datant du début des années 1980. En effet, depuis une trentaine d'années, les entreprises françaises sont chroniquement sous-financées et ne peuvent plus investir comme elles le devraient. Ce défaut d'investissement est le fruit d'une fiscalité absurde, un mal bien français, et de banques qui n'ont aucun intérêt à financer l'économie réelle puisque le rendement à court terme de la bourse est devenu plus profitable que le crédit à long terme.

Les entreprises n'ont donc plus que deux solutions outre mourir :

  • se faire racheter tout ou en partie ;
  • utiliser les possibilités offertes par un organisme qui s'appelle Oséo, un joli nom, ou par les services fiscaux.

Je ne sais pas si vous avez un jour entendu parler de crédit impôt recherche ou d'avances remboursables d'Oséo. À très court terme, c'est intéressant. Lorsqu'on y regarde de plus près, l'avance remboursable Oséo est le prêt à taux zéro le plus cher de l'histoire pour les entreprises innovantes. Pourquoi me direz-vous ? Parce qu'elle vient, lors de son versement, en déduction de l'assiette des dépenses prises en compte dans le calcul du crédit impôt recherche. Un exemple étant plus parlant qu'un long discours, le versement de 200000 € d'avance remboursable en 2009 conduira à une diminution du crédit impôt recherche versé en 2010 de 60000 à 100000 € selon l'année d'entrée dans le système CIR. Pour les entreprises qui ont du mal à se financer, cela risque fort de s'apparenter à un coup de poignard dans le dos puisque non seulement l'avance devra être remboursée à Oséo, mais jamais l'administration fiscale ne remboursera le crédit impôt recherche manquant.

Cette avance remboursable inventée par les experts de Bercy a donc été faite non pour aider les entreprises, mais pour limiter l'effet du mécanisme du crédit impôt recherche puisque dans les faits, il s'agit du premier prêt à taux zéro qui diminue la trésorerie des entreprises l'année suivant son obtention. Même si on m'explique qu'à la fin du programme tout rentre dans l'ordre, c'est au début d'un projet d'innovation que les entreprises ont besoin de leur trésorerie, pas après la bataille.

Une fois encore, Bercy, en se substituant aux banques, feint d'ignorer que le vrai problème des entreprises innovantes est l'immense difficulté d'accès aux crédits. Par ailleurs, cette retenue à la source est très intéressante puisque cela revient pour le ministère des finances à effectuer une retenue à la source quel que soit le résultat du programme innovant. En d'autres termes, Bercy parie sur un échec du programme d'innovation.

En effet, pour Oséo, la procédure semble être la suivante. Après deux ou trois ans, si le programme est un succès, l'entreprise rembourse Oséo et peut donc prétendre à réintégrer le montant de ces remboursements dans le calcul du CIR. Si le programme est un échec, le prêt n'est pas remboursé et devient dans les faits une quasi subvention et n'ouvre pas droit à récupération par le dispositif CIR. Durant ces deux ou trois ans, l'entreprise a fait crédit à l'état de son manque à gagner au niveau de son CIR.

La France est le seul grand pays à traiter ses entreprises innovantes de la sorte et il serait bon que les pratiques françaises soient cohérentes avec celles de nos voisins. Par ailleurs, les entreprises ne demandent pas l'aumône. Elles veulent juste pouvoir vivre normalement en ayant accès au crédit. Pour cela, il n'y a qu'une chose à faire, faire que le métier de banquier redevienne ennuyeux.

 

La France est footue

23.06.10 | par Le Grincheux | Catégories: Mauvais esprit

Quelle histoire ! Au moment de France-Afrique du Sud, j'étais bêtement sur la route nationale 4, quelque part entre Ligny-en-Barrois et Nancy et je m'en voudrai toujours d'avoir raté un tel match. Juste après 18h00, j'ai bien croisé deux ou trois possesseurs de véhicules customisés, à coup sûr supporters des bleus, le possesseur, pas la voiture. Pas la moindre manifestation d'un quelconque enthousiasme, pas le plus petit début de coup de klaxon italien… J'en ai donc déduit, ô bonheur, que cette équipe de France était enfin éliminée et que nous pourrions passer à autre chose. N'oublions pas qu'après le Festival de Cannes s'enchaînent tous les ans, aussi sûrement que deux et deux font quatre, l'Open de Roland Garros et le Tour de France, et que les coureurs du Tour de France, contrairement aux footballeurs, savent encore passionner les foules parce que leur sport est propre et désintéressé.

Que ces vingt-deux manchots — pardon, vingt-et-un plus Thierry Henry puisqu'il joue aussi avec les mains — et leur entraîneur puissent monopoliser l'opinion comme ils l'ont fait ces dernières semaines est incompréhensible. L'équipe de France est certes responsable d'une grande partie du spectacle, mais sans spectateur, point de spectacle.

Mettre, comme je l'entends depuis quelque temps, tous les torts au crédit de l'entraîneur me paraît un peu court. Il est aisé d'en faire une victime expiatoire à peu de frais. Personne n'ose pourtant avancer qu'avec un autre entraîneur, le problème risquerait d'être strictement identique. Il est parfaitement anormal que de tels joueurs gagnent de pareils salaires. Je ne suis pas contre une certaine rémunération, mais il faut que cette rémunération reste dans le domaine de l'acceptable. Donner des salaires mirifiques à une brochette de parfaits illettrés — que les deux ou trois qui sortent du lot me pardonnent — ne peut aboutir qu'au dénouement lamentable d'hier soir. L'équipe de France n'est pas la risée du monde entier parce qu'elle a perdu tous ses matches ou parce que son entraîneur est mauvais — ce qui reste à démontrer —, l'équipe de France est la risée du monde entier parce que le spectacle qu'elle a donné hors compétition n'est même pas digne d'une cour d'école, ce qui est ma foi assez cocasse pour l'équipe d'un pays qui rêve de donner des leçons au monde entier. Et il n'a pas fallu attendre Raymond Domenech pour cela, cette équipe est assez grande pour se ridiculiser elle-même.

Souvenez-vous seulement du coup de tête de Zinedine Zidane, geste certes déplacé, mais en finale de la coupe du monde 2006. L'entraîneur de l'équipe était déjà Raymond Domenech. Changer l'entraîneur n'aurait certainement pas empêché ce geste. En revanche, changer l'entraîneur aurait pu aboutir à une élimination plus précoce.

Rappelez-vous l'histoire de la main de Thierry Henry. Ce brave garçon n'a courageusement pris position pour rejouer le match contre l'Irlande qu'à partir du moment où la FIFA avait pris position contre. À ce moment-là, il aurait été de bon ton qu'il fasse profil bas.

Réfléchissez à ce qui s'est passé dans les vestiaires récemment. Que Nicolas Anelka traite son entraîneur de noms d'oiseaux est une chose que je ne cautionne pas. Que l'ensemble du groupe recherche le traitre ayant répété ces paroles en est une autre. Ces paroles ayant été dites, le fautif est Nicolas Anelka. Il n'y a pas de traitre à rechercher. La mutinerie du le dimanche 20 juin 2010 durant laquelle la totalité de l'équipe a refusé de s'entraîner et a fait lire un mot par Raymond Domenech expliquant la situation était grotesque. Peut-être l'entraîneur s'est-il plié à cet exercice parce que c'est le seul du groupe à savoir lire…

L'équipe de France n'enchaîne pas les revers grâce à son entraîneur, sinon, comment justifier que le même entraîneur ait amené cette équipe en finale en 2006 ? Elle est mauvaise parce que ses joueurs se comportent comme des enfants gâtés et le meilleur entraîneur du monde ne pourra rien y faire.

 

Fracture numérique

22.06.10 | par Le Grincheux | Catégories: Mauvaise humeur

Ayant travaillé quelque temps à Issy-les-Moulineaux pour ce qui s'appelait encore le CNET (Centre National d'Étude des Télécommunications), j'ai une certaine affection pour France Telecom. J'ai quitté cette entreprise juste au début de sa chute, au moment où le gouvernement français au travers de l'ART (Autorité de Régulation des Télécommunications) l'a contrainte à louer ces circuits-minutes à perte. Nous avions calculé à l'époque que le circuit-minute coûtait 0,56 de nos défunts francs, enfin, de nos anciens nouveaux francs, alors que l'ART nous imposait une location à 12 ou 24 centimes de francs selon qu'une ou les deux extrémités de la communication étaient prises en charge par un opérateur tiers. Ce prix semble énorme, mais il incluait la maintenance et les techniciens de ligne qui étaient d'astreinte vingt-quatre heures sur vingt-quatre et sept jours sur sept, y compris les jours fériés.

Vendre à perte, c'est interdit en droit français. En revanche, le législateur ne parle pas de location à perte.

Aujourd'hui, il est malhonnête d'accuser France Telecom lorsqu'on parle des conditions de travail de ses salariés, d'autant plus qu'il est impossible de rejeter la faute directement sur les actionnaires. Nous sommes tous responsables de la situation. Le petit porteur est responsable parce qu'il possède des actions et espère un retour sur investissement rapide. Les banques sont responsables parce qu'elles ne font pas leur travail — qui est de gagner de l'argent en finançant l'économie réelle et en prenant des risques mesurés, après tout c'est ce risque que paient les intérêts de prêt, et non de boursicoter — et qu'il est malheureusement plus facile mais plus risqué pour une entreprise de chercher de l'argent à investir en bourse. L'abonné à un opérateur tiers est lui-aussi responsable car il utilise la partie onéreuse du réseau de France Telecom sans en supporter le coût réel.

Je ne sais pas si vous vous souvenez des grandes annonces qui ont été faites il y a plus de dix ans. Tous ces opérateurs alternatifs avaient demandé l'autorisation de poser une boucle locale cuivre ou radio. Pas une seule boucle locale n'a été installée depuis car il est largement plus rentable de faire porter à France Telecom, contrainte de le faire à perte, la pose et l'entretien de cette boucle plutôt que d'entretenir soi-même la même installation. Aujourd'hui, si France Telecom vendait au coût réel ses circuits aux opérateurs alternatifs, ils mettraient tous la clef sous la porte car, à force de casser les prix au détriment de la qualité de service, ils ne pourraient encaisser cette augmentation pourtant légitime.

Cette dégradation de service due aux opérateurs alternatifs ne se voit pas encore dans les zones urbaines. En revanche, elle est criante à la campagne qui n'intéresse aucun opérateur alternatif. France Telecom n'a plus aucun moyen pour entretenir ses lignes jugées peu rentables vis à vis des lignes urbaines et on a de la chance lorsqu'on arrive encore à avoir une tonalité et un accès internet au travers d'un bon vieux modem bas débit.

Et l'on ose encore parler de fracture numérique ! On gaspille l'argent public dans une gabegie financière de projets onéreux engloutissant des sommes pharaoniques comme le projet Dorsal pour des résultats au mieux insuffisants.

Il y a quelque temps, le minitel permettait encore de s'en sortir. Maintenant, il faut faire avec internet. Je vous mets au défi d'utiliser internet avec un bon vieux modem RTC plafonnant à quelques milliers de bits par seconde. La moindre information étant noyée dans des pages de publicités généralement en Flash ou au milieu d'images en haute résolution, c'est devenu impossible sauf à naviguer avec un outil en texte brut comme elinks.

Dans toutes ces zones rurales, le seul opérateur présent est souvent France Telecom parce qu'il a une obligation de service public limitée au service universel (téléphone). Aucun opérateur alternatif n'est présent parce que, comprenez-vous, le coût de chaque utilisateur est trop important vis à vis de la marge dégagée. Le paysage des télécommunications françaises est ainsi le suivant : des zones urbaines avec une concurrence acharnée entre opérateurs et des zones rurales où seule France Telecom offre un service souvent limité et qui est de plus en plus la vache à lait pour entretenir le réseau urbain. Je ne suis pas un détracteur de la privatisation des services, mais je ne vois pas pourquoi tous ces opérateurs alternatifs n'ont pas une clause de service universel. Il est inadmissible qu'on se gargarise à longueur de temps de concepts comme la libre et saine concurrence alors même qu'on permet ce genre de chose. Les fortunes des actionnaires des opérateurs alternatifs n'ont été faites que parce que le gouvernement français au travers de l'ART leur a offert France Telecom sur un plateau sans aucune contrepartie. Le réseau de télécommunications français fonctionne encore bien parce que France Telecom arrive encore à effectuer le minimum d'entretien sur la boucle locale, mais ça ne durera pas indéfiniment. Déjà les campagnes sont à l'abandon et on voit de plus en plus de problèmes de lignes en ville.

Continuons, il y a des pays en voie de développement et d'autres en voie de sous-développement…

 

Publicité Windows 7

21.06.10 | par Le Grincheux | Catégories: Mauvaise humeur, Je hais l'informatique, Vieux con

Faut-il que Microsoft ait peur pour payer de la publicité ventant un système d'exploitation fourni d'office avec tout PC d'autant plus que les arguments avancés sont vraiment extraordinaires.

À titre professionnel, j'ai eu — et ai malheureusement toujours — à maintenir ce système d'exploitation qui est plus un système d'exploitation de l'homme par Microsoft que de la machine par l'homme. Rien ne fonctionne comme prévu, les explosions en vol sont nombreuses parce que tout pilote fonctionne en mode noyau, que la gestion des processus n'est pas claire et que la séparation entre les modes noyau et utilisateur est particulièrement floue. Les licences en ma possession me donnent pourtant accès aux supports de niveau 2 et 3 de Microsoft qui ne me sont en général d'aucun secours. Il ne me reste que la documentation livrée par l'éditeur et les 'KB' de Microsoft pour résoudre tous les problèmes issus de ce système.

La dernière version de Windows que j'ai eu entre les mains à titre personnel et que j'utilisais quotidiennement était Windows 3.11 for Workgroups sortie officiellement le 31 décembre 1993. Déjà à cette époque, je soignais ma santé mentale. Cela ne nous rajeunit pas et se passait sur un IBM PS/2 modèle P70 à bus MCA muni d'un i80386DX16 secondé par un valeureux 80387DX20 pas Intel pour un sou, de 8 Mo de mémoire et d'un disque dur ESDI de 30 Mo.

Vu le peu d'intérêt de ce système d'exploitation, s'appuyant sur un IBM DOS 5.00 pourtant solide, et ses problèmes à répétition, j'ai essayé OS/2 Warp 3. Cela a été une révélation : enfin un vrai système d'exploitation 32 bits avec un vrai bureau, quelque chose qui ne plantait pas plus vite que son ombre, quelque chose qui mettait loin derrière les versions suivantes des productions microsoftiennes.

Entre temps, j'ai travaillé dans plusieurs laboratoires de recherche sur des systèmes Unix — essentiellement Sun OS et HP-UX — et VMS. Le matériel Digital ou Sun n'étant pas exactement donné, je me souviens du jour où l'on a insisté pour me présenter un truc bizarre qui permettait d'utiliser un système Unix standard ou presque sur un vulgaire PC. Pour l'immense majorité des tâches effectuées — excluant naturellement les tâches demandant des I/O performantes —, cela devait être amplement suffisant. Le système s'appelait Linux et le noyau était un 1.0.9.

En une quinzaine d'années, ce système a su s'imposer comme une référence même si je lui préfère un bon vieux NetBSD pour un certain nombre de raisons que je ne vais pas aborder maintenant. Il s'est imposé malgré le système de vente particulièrement sournois de Microsoft qui revient à interdire toute forme de choix à l'utilisateur final, voire à faire accroire à cet utilisateur que Windows est indissociable de son PC et que ce dernier ne pourra pas fonctionner sans lui.

Je crois qu'on atteint même le fond avec les dernières publicités pour Windows 7. On y voit une demoiselle bidouiller quelque chose avec Internet Explorer 8 ou réveiller son PC en moins de quelques secondes. Ces deux actions sont présentées comme des exploits. C'est un peu fort car, avec mon antique Toshiba Satellite 4060 XCDT utilisant une distribution Linux Debian, ses 64 Mo de mémoire et son pauvre Pentium II/333, j'arrivais à faire il y a dix ans exactement la même chose. On voit donc par là que c'est une révolution.

Finalement, Cocteau avait raison. Il n'y a pas de précurseurs, il n'existe que des retardataires.

 

RPL/2 internal error

20.06.10 | par Le Grincheux | Catégories: Mauvaise humeur, Je hais l'informatique

Je hais la programmation multithreadée à un point qui devrait vous donner une très vague idée de l'infini. Si j'écoutais ma mauvaise conscience, étant d'une fainéantise crasse, je ne passerais pas ma vie à corriger des erreurs dans des bouts de programmes, qu'il s'agisse de simple fuite de mémoire ou comme on dit joliment de « race conditions », beaucoup plus pénibles à corriger car non reproductibles.

Le problème majeur de l'informatique moderne est la qualité du code qui tend asymtotiquement vers zéro et ce d'autant plus vite que la puissance des machines s'accroît. Je ne sais pas si vous voyez bien ce que je veux dire. À l'heure où il faut une machine tournant à l'aide de deux processeurs cadencés à quelques milliers de mégahertz et munie de quelques gigaoctets de mémoire vive pour afficher en deux ou trois secondes un bête 'Hello, World!' écrit en Java, il n'existe plus personne pour se préoccuper de l'utilisation optimale des ressources. Enfin, si, il reste des types comme moi qui n'ont pas vraiment le choix.

Mon problème est aujourd'hui le calcul intensif. Il faut absolument utiliser le maximum des possibilité d'un ordinateur pour réduire les temps de calcul. J'ai dû essayer une grande partie des outils disponibles sans trouver mon bonheur. Il faut dire que le plus petit calculateur à ma disposition est un système à trente-deux processeurs UltraSPARC et que l'immense majorité des outils ne s'adapte que très mal à une telle configuration. Sachant qu'on n'est jamais aussi bien servi que par soi-même, j'ai décidé de me prendre par la main et de coder mon propre langage de programmation. Il y a au moins deux avantages à cela, il suivra au mieux mes besoins et si je suis embêté par un problème dans ce langage, je ne pourrai m'en prendre qu'à moi-même plutôt que d'attendre le bon vouloir du concepteur pour apporter une correction. Toute médaille ayant son revers, je ne peux plus accuser un tiers des défauts de mes programmes et par moment, c'est vraiment difficile…

Depuis quelques années, je passe ainsi le plus clair de mon temps à rajouter des fonctions et corriger des dysfonctionnements majeurs provenant essentiellement des possibilités de programmation multitâche et multithread. En effet, chaque système d'exploitation comprend les spécifications POSIX de manière subtilement différente et parfaitement incompatible quand il n'en manque pas des bouts. Certains autre systèmes comme Windows sont même très reposants parce qu'ils ne comprennent rien.

Le dernier dysfonctionnement en date provient d'un calculateur fonctionnant sous Linux. Une machine vraiment spéciale puisqu'il s'agit d'un bête PC muni de deux processeurs amd64. Au bout de quelques heures d'un calcul d'optimisation, le processus s'arrêtait avec le message d'insulte suivant :

[1610] BUG! <librpl_liberation()> at line #767 of gestion_objets.conv.c
(*s_objet).nombre_occurrences=0
[1610-140395925845840] BACKTRACE <librpl_liberation()> at line #767
/usr/local/bin/rpl(librpl_liberation+0x36c) [0x48390c]
/usr/local/bin/rpl(librpl_liberation+0x1423) [0x4849c3]
/usr/local/bin/rpl(librpl_instruction_save+0x1f8) [0x533958]
/usr/local/bin/rpl(librpl_analyse+0xe1) [0x45bca1]
/usr/local/bin/rpl(librpl_evaluation+0x2773) [0x46fb13]
/usr/local/bin/rpl(librpl_traitement_interruptions_logicielles+0x142) [0x481d92]
/usr/local/bin/rpl(librpl_analyse+0x34f) [0x45bf0f]
/usr/local/bin/rpl(librpl_evaluation+0x2773) [0x46fb13]
/usr/local/bin/rpl(librpl_evaluation+0x1e39) [0x46f1d9]
/usr/local/bin/rpl(librpl_evaluation+0x3076) [0x470416]
/usr/local/bin/rpl(librpl_instruction_detach+0x23ad) [0x4b948d]
/usr/local/bin/rpl(librpl_analyse+0xe1) [0x45bca1]
/usr/local/bin/rpl(librpl_evaluation+0x2773) [0x46fb13]
/usr/local/bin/rpl(librpl_sequenceur_optimise+0x346) [0x553086]
/usr/local/bin/rpl(librpl_rplinit+0x3fea) [0x557e8a]
/usr/local/bin/rpl(main+0xd) [0x562cad]
/lib/libc.so.6(__libc_start_main+0xfd) [0x7fb076d24abd]
/usr/local/bin/rpl [0x454529]
[1610-140395925845840] END OF BACKTRACE

Pour le néophyte total et au premier abord, on ne peut pas prétendre que ce soit vraiment clair, mais ce message signifie qu'un objet dans la pile opérationnelle a été détruit à l'insu de l'utilisateur, ce qui n'est pas franchement normal. J'ai essayé de reproduire le problème sous Solaris, NetBSD, FreeBSD, MacOS X et Linux sparc64 sans aucun résultat. Le problème ne se produit que sous Linux amd64. Je n'aime pas ces problèmes qui dépendent à la fois d'une architecture et d'un système, ce sont les pires !

Quelques longues journées de débogage plus tard, à grands coups de printf(), valgrind, hellgrind et ddd pour l'analyse des cores, je découvre que le système de « copy on write » du fork() de certaines versions de la glibc était particulièrement moisi puisque qu'il créait une image indépendante d'exécution pour le fils que lorsque celui-ci tentait une écriture en mémoire indépendamment de ce que le père pouvait faire. Autant dire que le résultat était assez aléatoire. Le problème étant identifié, restait encore à le contourner, ce qui n'était pas une mince affaire, et à inclure dans le code source les corrections adéquates.

Avec le recul, je me demande de plus en plus comment des programmes écrits pour un système Unix peuvent fonctionner sur un autre Unix tant il y a de problèmes dans les différents appels système ou appels à la libc. Non seulement chaque implantation comprend autre chose des spécifications POSIX, mais il y a souvent un monde entre ce que l'appel est censé faire — aux dires de la documentation du système — et ce qu'il fait réellement. Cela passe par des erreurs non documentées ou de façon plus amusante par des arrêts brutaux pour cause d'erreur de segmentation.

Un exemple étant plus parlant qu'un long discours, voici la page de manuel de la fonction pthread_kill() de Linux :

DESCRIPTION
The pthread_kill() function shall request that a signal be delivered to
the specified thread.

As in kill(), if sig is zero, error checking shall be performed but  no
signal shall actually be sent.

qui renvoie directement à la page de kill() indiquant ceci :

DESCRIPTION
The kill() function shall send a signal to a process or a group of pro-
cesses specified by pid. The signal to be sent is specified by sig  and
is  either one from the list given in <signal.h> or 0. If sig is 0 (the
null signal), error checking is performed but  no  signal  is  actually
sent. The null signal can be used to check the validity of pid.

puis un peu plus loin :

ERRORS
The kill() function shall fail if:

EINVAL The  value of the sig argument is an invalid or unsupported signal number.

EPERM  The process does not have permission to send the signal  to  any receiving process.

ESRCH  No  process  or process group can be found corresponding to that specified by pid.

Cette description reproduit parfaitement les spécifications POSIX. Le seul problème est qu'un pthread_kill(tid, 0) sur un thread inexistant ne renvoie pas ESRCH dans la variable globale errno mais une erreur de segmentation !

Souvent, le soir, je rêve d'un monde, d'un monde dans lequel les développeurs des différents systèmes auraient compris la même chose des spécifications POSIX, d'un monde où les libc seraient entièrement déboguées…

 

Pages: 1 ... 173 174 175 176 177 178 ...179 ... 181 ...183 184