samedi 28 février 2009

Un peu de lecture pour 2009

Voila mes petits cadeaux de Nouvel An.
Un peu de lecture pour 2009 ...Chouette!


Dans ces belles heures en perspectives, il y a:
  • Sépulcre - Kate Mosse
  • L'héritage des templiers - Steve Berry
  • L'énigme Alexandrie - Steve Berry
  • Le concours du Millénaire - Roger Zelazny
  • Oscar Wild et le meurtre aux chandelles - Cyles Brandreth
  • La mort dans la peau - Robert Ludlum
  • L'autre monde L'alliance des trois - Maxime Chattam
  • Le labyrinthe de la rose - Titania Hardie
  • La proie - Michael Crichton
Depuis quelques autres lectures sont venues s'ajouter:
  • La conspiration du temple - Steve Berry
    Il faut dire qu'il écrit vraiment bien... comme Dan Brown.
  • Meutre.com - Jeffery Deaver
    Les chapitres sont numérotés en binaire :-)
  • Troie, tome 1 et 2 - David Gemmell
    Un peu d'héroic fantasy...

vendredi 27 février 2009

Embedded Web Browser

EmbeddedWB est une autre suite de composants gratuits et franchement utiles (du moins pour les développeurs ayant besoin d'interagir avec Internet Explorer de Microsoft).

Au risque de lever des critiques, il faut reconnaitre que malgré ses défauts, Internet Explorer présente un avantage non négligeable pour les développeurs lorsqu'il est nécessaire afficher des documents de type "WEB" (Xml, Html avec un contenu riche) sur les plateformes Windows.

En plus d'étendre les fonctionnalités du composant TWebBrowser (composant visuel englobant Internet Explorer), EmbeddedWB se présente comme  une suite idéale pour controler et manipuler de fond en comble les fonctionalités d'Internet Explorer.

Note:
Le composant TWebBrowser est disponible en version "très limitée" dès l'installation de CodeGear/Delphi.
Le package TEmbeddedWB de Bsalsa contient une nouvelle version nettement plus complète de ce composant.

Merci à la société Bsalsa :-)

FramaKey et FramaSoft

Voici un très bon article bien détailler paru sur Toolinux.fr.
Ce dernier traite des produits gratuit de FramaSoft (à savoir la FramaKey).

La framakey est une clé USB contenant des logiciel dit "portable" pour Windows.
Cette clé est un véritable couteau suisse pour utilisateurs de tout poils.
Ces logiciels sont configurés de manière a fonctionner directement depuis la clé USB sans nécessité d'installation.
Cette approche est vraiment très utile lorsque l'on désire emporter son environnement, ses documents et ses favoris avec soi. Bien évidement, en plus de fonctionner directement depuis la clé, les paramètres des applications ainsi que les documents sont sauvegardés directement sur la clé USB.

A noter aussi que FramaSoft prévoit également de produire une FramaGnu, une clé USB permettant de booter un System Linux Ubuntu sans devoir l'installer sur le disque dur. La particularité de cette distribution sera d'utiliser un espace de stockage partagé sur la Clé USB. Cette espace de stocake sera à la fois accessible par Ubuntu (lorsqu'il est démarré depuis la clé) mais également par les systèmes Windows lorsque la clé est insérée dans un PC fonctionnant sous Windows.

Signalons finallement l'initiative "FramaPack" qui permettra d'installer quelques 60 ligiciels libres de qualités sur un PC

Liens:

jeudi 26 février 2009

SQL 2005 - Index tuning

Voici quelques références concernant l'optimisation des indexes sous SQL2005.
Je dispose également de quelques scripts pour SQL 2005 permettant d'évaluer l'utilité des indexes en SQL 2005 (TuningScripts.zip).

Note:
Par manque de temps, cet article est bien malheureusement incomplet. 
Je publie néanmoins les quelques rares informations qui s'y trouve.
Qui sait... un jour il pourrait être complété. 

Jedi API

Cela doit maintenant bien faire une décennie que  j'utilise du code "open source" issue des différents projets Jedi.
A bien des égards, la stabilité et la qualité des outils et librairies JEDI vont bien au-delà de la plupart des produits commerciaux.

Voici donc une petite mise en lumière de la Jedi Api, une vaste librairie pour développeurs Delphi.

Le but du project JEDI Api est de fournir une conversion, aussi complete que possible, des headers du Platform SDK de Windows.
Le projet est axé sur les éléments suivants:

  • JWAPI: JEDI API Windows Headers
    Voir aussi le blog associé.
  • JWSCL: JEDI Windows Security Library
    Voir aussi le blog. 
  • NTAPI: NT Native API
    Inclus toutes les fonctions exportées par NTDLL.DLL. Ces dernières étant plus ou moins documentés il est donc difficile de garantir que les déclarations soient toujours correctes et fonctionnelles sur tous les systems de NT4.0 a Vista.
  • SCAPI: Setup & Config Manager API
    Interface de programmation gère les installations/désinstallations matérielles (ainsi que les fonctionnalités annexes).
  • win32api: Win32 API
    Contient une très gros subset des headers disponibles dans le Platform SDK fournit par Microsoft.
    Cette librairie est issue du laborieux travail de Marcel Van Brakel qui a bien malheureusement cessé ses activités dans la JCL API.

Quelques liens utiles:

mercredi 25 février 2009

Configurer IIS pour débogger des ISAPI Delphi

Débogger une DLL ISAPI avec Delphi 2007 et IIS n'est pas si simple que cela.
La solution proposée par CodeGear est certe élégante mais loin d'être pratique à mettre en oeuvre lorsque l'application se compose d'une vingtaine de DLLs migrées depuis Delphi 5.

C'était pour nous une situation bien épineuse à laquelle il a fallut un temps certains avant d'y apporter une réponse efficace.
Après de longue tribulations sur le Net, une solution fut trouvée chez XmlRad.com (grand merci!).
Ni une, ni deux, nous l'avons archivé.

Voici qu'est maintenant venu le temps de sortir notre petit trésor de sa grotte.
 Voici donc liens vers l'article d'origine sur XmlRad.Com.
Ce dernier explique clairement comment configurer IIS pour débogger des DLL Isapi depuis Delphi 2007.
J'ai également une copie de ce dernier au format mht (Internet Explorer seulement).
L'article en question fait également référence à deux fichiers modifiant la registry.
Ces derniers sont disponibles dans l'archive iis-regfiles.zip .

Finallement, il faut égalment savoir que l'activation des BreakPoints dans une DLL isapi nécessite une configuration particulière du projet Delphi. Ce point est précisément abordé dans cet autre billet.

mardi 24 février 2009

Maison passive

Cet article sera probablement complété à l'occasion.

Agrandir sa maison
Il y a quelques jours, j'ai eu l'occasion de regarder un reportage concernant l'agrandissement d'une maison.
La structure de base ne pouvant pas supporter le poids d'un étage en dur, celui-ci a été réalisé entièrement en bois.
Le plus intéressant restait encore que l'agrandissement était de type passif.
Pour ce faire, les murs contiennent 24~26 cm d'isolant consititué de flocons de papiers.
Cet isolation à la propriété (1) d'emprissoner l'air... isolation idéale, (2) de remplir tous l'espace disponible (puisque cette matière est injectée sous pression).

Peut être un bon plan à retenir...

lundi 23 février 2009

MonoDevelop 2.0

Ca y est, la beta de MonoDevelop vient de sortir.
Au rang des améliorations de cet environnement de développement pour la plateforme Mono, nous noterons:
  • L'integration du débugger avec la possibilité d'attacher un processus en cours d'exécution.
  • Un meilleur support ASP.NET (compatible avec Visual Studio 2008).
  • Code completion pour ASP.Net (tag, attribut, valeurs).
  • Un tout nouvel éditeur de code
    • Indication des erreurs à la volée (underline flagging error).
    • Historique des modifications
    • Code folding.
    • Recherche incrémentale
    • Support pour le VI-mode
    • Split View (pour le source code)
    • Support de la syntax C#3
    • Code completion entièrement revu (équivalent en fonctionalité avec l'intéliSense).
     
  • Un nouvel éditeur XML supportant le code/attribut/valeur completion, les schémas XSD et donc XAML.
  • Amélioration de la gestion de project (meilleure interopérabilité avec Visual Studio)
    • Ouverture de plusieurs solutions en même temps.
    • Support des workspaces.
    • Cascading policies (pour les projets). 
  • Possibilité d'ajouter ses propres widgets dans l'éditeur (en utilisant [TollboxItem] ).
  • Navigateur/browser d'assemblage.
  • Raccourci clavier (CTRL-Tab) permettant de switcher entre les éléments du projet.
Pour plus d'info, lisez donc cette annonce sur le Blog de Miguel de Icaza

Des logiciels pour profiter au mieux des photos numériques

Voici un chouette petit dossier chez Clubic.

Parmis les logiciels qui m'intéressent le plus, il y a "Microsoft Image Composite Editor" (download chez Clubic) permettant de reconstituer des panoramas à partir d'une série de clichés.

jeudi 19 février 2009

Sql Server Profiler

Introduction

Sql Profiler est un outil bien utile pour faire du monitoring d'utilisation de Sql Server.
Tout récemment, nous l'avons utilisé pour tenir l'oeil des opérations que nous savions particulièrement gourmandes.

Exemple
Dans le cas qui nous concerne, nous avions de terribles problèmes de performances où l'écriture de nouveaux records dans la table d'AuditTrail échouaient (write time-out) de temps en temps. Avec pour conséquence (1) la perte du record d'audit et (2) l'apparente lenteur de l'application.
Malheureusement, nous avons des processus lisant occasionnelement cette table d'audit, assez énorme au demeurant (plusieurs millions de records et 6Go).
Sachant que la table d'audit ne dispose pas d'un design vraiment terrible (en passe d'être corrigé). Nous avions le sentiment que ces problèmes d'écritures étaient la conséquence même des différentes opérations de lectures exécutés sur AuditTrail.
Il fallait donc vérifier que les erreurs d'écriture reportées dans notre log applicatif étaient bien subséquentes (et donc probablement caussées par) aux requêtes Sql retournant des données extraitent de l'AuditTrail.

C'est là que SqlProfiler se révèle bien utile car c'est lui qui nous permettra de détecter et logger les requêtes de lecture de l'AuditTrail.
A nous, par la suite, de comparer le contenu des deux logs.


Mise en place
1) Démarrer SQL Profiler

2) Créer une nouvelle trace

3) Choisir le bon modèle et limiter la casse
Personnelement, je préfère partir d'un template/modèle vierge qu'il faut alors configuré.
Mes premiers essaient à partir des modèles prédéfinit ne se sont pas montrés des plus efficaces... Il faut avouer que le modèle par défaut ne capture pas les statement SQL envoyés par notre application.


Il est préférable de fixer une limite pour ne pas consommer toutes les ressources de la machine.
Dans le cadre de l'utilisation d'un tel outil sur un serveur de production (le genre de machine qui n'est  pas surveillées de façon intensive/manuelle), on peut facilement créer une situation engorgeant totalement l'espace disque. 
C'est qu'activer un trace est tellement plus facile que de ne pas oublier, après plusieurs jours, qu'elle fonctionne  :-)

4) Sélection des traces
La sélection des traces appropriés n'est pas forcement des plus évidents.
Par exemple, les traces de type TSql Batch sont sélectionnés par défaut dans le modèle par défaut.
Ce type de trace se révèle totalement intutile lorsque l'on cherche a monitorer une application de type Ado/OleDB. Dans ce cas, les traces a monitorer sont SQL:StmtCompleted et SQL:StmtStarting
Par contre, pour ne pas risquer de crouler sous les quantités d'information collectés, il faudra configurer le filtrage.

4.1) Filtrer sur la DB
A mon sens, ce point ne nécessite pas commentaire.

4.2) Filtrer les requêtes SQL


Point un peu plus délicat!
Il faut avant tout savoir que le statement SQL est stocker dans la colonne TextData.
Dans notre cas, nous voulions collecter les requêtes SELECT sur la table d'audit (sachant qu'il n'y a pas d'updates).



5) Démarrer la trace
Une fois la trace démarrée, il ne reste plus qu'a observer l'accumulation des résultats.
 

mardi 17 février 2009

Home Server - VHS-4

Parmi les Home Server, il existe des solutions intéressantes.
Hormis le "Data Tank Gateway" de Freecom, la solution Ve-hotech VHS-4 series fait visiblement partie de celles à retenir.
Toolinux en a d'ailleurs fait une revue concise et allèchante.

Fonctionnant sur une version adaptée d'Ubuntu, VHS-4 propose une foule de fonctionnalités.
Parmi elles, je retiendrais:
  • Partage de fichier.
  • Backup PC.
  • Configuration Raid (jusque Raid 5).
  • Permet de déployer ses propres blogs et site Web (DotClear, myBB).
  • Faire fonctionner des machines virtuelles.
  • Gestion des ressources pour maintenir une qualité de service en access concurrent.
  • Interface de gestion via HTML.
  • Permet la configuration de plusieurs comptes utilisateurs.
  • Support pur l'HTTPS
  • Pare-feux.
  • Dispose d'une connectique RJ45, de 6 port USB et de lectures de cartes flash.
  • Fonction de partage d'imprimante.
Pour plus d'information:

lundi 16 février 2009

The insert time-out Story (Dramatically locked)

Introduction
Pour des besoins de tracabilité, notre logiciel maintient un table d'audit.
Cette dernière reçoit une copie de toutes les opérations effectuées sur les tables principales de la base de donnée.
A priori, il semble raisonnable de considérer que cette table ne soit utilisée que pour y ajouter des enregistrements.
Les opérations de lectures étant réservées uniquement à des tâches de maintenances et de vérifications (idéalement sur une copie de cette DB). Il n'est pas difficile de se rendre compte que cette table est, de par nature, très sollicitée.
Un jour, un développeur fort peu avisé s'est mis en tête d'aller y faire des lectures pour en sortir quelques historiques de modifications.
Cette solution rapide et confortable en temps de dévelopement, n'était pas des plus appropriées et cette option de faible qualité fut largement discutée à l'époque (en effet une table d'audit est destinée a grandir et à être purgée).
Malheureusement, pour des raisons historiques et économiques, cette solution fut maintenue en place malgré de vives protestations.
Résultat immédiat: il n'est pas possible de purger l'audit (parce que ce rapport d'historique est une exigeance).
Résulat aujourd'hui (après quelques années): la table fait 19 millions de records et nous cause beaucoup de tord.

Cas de figure
Passons de l'introduction au cas pratique... il nous aura fallut un certain temps pour comprendre que la table d'audit était notre problème.
L'application se comportait normalement... jusqu'il y a peu.
En effet, suivant les heures et les jours, pour une raison inexpliquée (jusqu'aujourdh'hui) les utilisateurs se plaignaient, de façon occasionnelle, d'un système extrêmement lent... la phase de login prenant quelques-fois plusieurs minutes.


Après investigation, nous avons constatés que l'écriture d'un nouvel enregistrement dans la table d'audit échouait après +/- 30 secondes (Time-Out on inserting record).
En poussant les investigations un peu plus loin à l'aide de Sql Profile, nous avons constaté que ces problèmes de Time-out concoïncidaient avec des requêtes de lecture de l'audit.
De là à tirer des conclusions hatives, il n'y a qu'un pas... reste cependant encore à identifier précisément le mécanisme pour y apporter une solution. 



Test pratique

SQL1 : Lecture de l'AuditTrail
select * from tblSSAudit
where ID_ObjectInstance 
between 181125 and 272175 --order by Audit_Date
Temps d'exécution: 49 sec.
Lors d'une lecture normale, il n'y a pas de système de locking particulier. Cependant, la table est grosse (19 millions d'enregistrement) et cela génère un Table Scan et enormément d'accès disques.
Voici le résultat d'un sp_lock durant la lecture:

SQL2: Insertion dans l'AuditTrail
declare @i int;
select @i=1
while @i < 10000
begin
insert into tblSSAudit (audit_comment) values ('Writing test '+Cast( @i as Varchar(10) ) )
print cast( GetDate() as Varchar(20) )+': insert value '+Cast(@i as Varchar(10) )
select @i = @i +1
end
Temps d'exécution: 7 Sec.
Cependant, durant la lecture de l'AuditTrail (SQL1) le temps d'exécution explose à 53 secondes.
Avec un peu de feeling, il n'est pas difficile de deviner que les INSERTs attendent la fin du processus de lecture.

SQL3: Examination des locks
Durant l'exécution de SQL1 (exécution active) et SQL2 (apparemment en pause), un troisième SQL (sp_lock) est exécuté sur la DB.
En voici le résultat:
  • +/- 5000 locks!!
  • Un lock IX (Intent Exlusive) sur la table d'audit (ce lock exclusif étant créé par les instructions INSERT).

Les essais
En lisant l'article de InformIT, la meilleure option était encore d'utiliser NOLOCK comme query hint lors de l'exécution des requêtes. Ce hint stipulant clairement a SqlServer qu'il ne fallait pas prévoir d'escalade de locking dans le cas de la lecture.

SQL 1 devenait donc:
select * from tblSSAudit with (NOLOCK)
where ID_ObjectInstance 
between 181125 and 272175 --order by Audit_Date
  
Essais avec NOLOCK

Les premiers essais ne furent pas concluant en ce sens que les inserts semblaient toujours attendre la fin de l'exécution du SELECT. Néanmoins, en un coup d'oeil sur SP_Lock permettait d'identifier une difference notable dans l'escalade des locking.

Par la suite, j'ai arrêté l'exécution de SQL2 après 10 secondes. J'ai constaté que ce dernier avait néanmoins inséré 796 records pendant l'exécution de SQL1.
Pour m'assurer d'une potientielle avancée, j'ai (1) retiré le query hint, (2) réexécuté SQL1 suivit de SQL2, (3) denouveau arrêter SQL2 après 10 seconds. 
Dans ce second test sans NOLOCK, SQL n'avait écrit aucun records!

Conclusion:
L'utilisation de NOLOCK durant la lecture de l'audit trail autorise toujours les insertions de records mais avec une performance catastrophique.
En effet, dans ce cas, la performance d'insertion passe de 1428 records/sec à 99 records/sec... soit un diminution de performance de 93%.
Si deux processus exécutent SQL1, dans ce cas, le performance d'insertion diminue encore (69 rec/sec).


Essais avec NOLOCK et READUNCOMMITTED
L'ajout de ReadUncommitted dans le query hint n'as pas modifié les performances de façon signification.
Ce n'est donc pas une option a considérer.


Solutions

A court terme:
Et bien, a très court terme, l'option de la requête SELECT avec l'option NOLOCK permet de maintenir un "service minimum". Cependant, cela ne fournira pas solution à long terme.


A long terme:
  1. Trouver un moyen de décharger cette table pour la faire revenir dans des proportions plus raisonnable.
    Cependant, une analyse ultérieure à révélé que sur les 19 millions d'enregistrements, 12 millions étaient potentiellement exploitables et doivent donc rester accessible.
  2. Résultat du point précédent: considérer le stockage des informations importantes dans une strucutre plus appropriée (le stockage de valeurs numériques étant moins couteuses en terme d'espace disque et par ailleurs indexable).
  3. Partitionner la table (fonctionnalité de SQL 2005 enterprise) et stocker la partie/partition inactive dans un File-Group en lecture seule (cela évitera a SQL serveur de gérer inutilement des locks sur cette partition).
Références

Voici un article "Options Affecting SQL Server Locking Behavior" d'InformIT traitant du sujet.
Détail des valeurs retournée par sp_lock.

Bespin - L'éditeur en ligne

Bespin... voici un projet assez intéressant du Mizolla labs.

Bespin est un éditeur de code en ligne!
Bien que n'ayant encore que des fonctionalités basiques, Bespin offre déjà un environnement collaboratif d'une fluidité impressionnante.

Pour le moment, cet éditeur supporte les langagues standards du web (html, css, javascript).
Il dispose d'un gestionnaire de fichiers/Ressources, d'une gestion collaborative et d'un mécanisme permettant d'étendre ses fonctionalités (commandes) à l'aide de snipset javascript.

Ce genre d'outil pourrait s'avérer vraiment intéressant pour des plateformes purement en ligne.
J'imagine ce genre d'outil bien intéressant pour aider le tuning en ligne de CMS (snipset javascript/PHP, template CSS ou autre).
Je l'imagine aussi très intéressant comme environnement de travail pour Google Apps Engine.


Introducing Bespin from Dion Almaer on Vimeo.

Pour plus d'info, jetez un coup d'oeil sur le projet "Bespin" de Mozilla Labs.

vendredi 13 février 2009

.Net Programming tools

Voici encore quelques ressources pratiques pour le développement d'application .Net.
  • AsyncEnumerator: Voici la référence vers un article (sur channel 9) de Jeffrey Richter a propos de sa libraire AsyncEnumerator.
    Cette librairie permet de développer plus facilement et rapidement des applications scalable en facilitant les méthode de développement des process asynchrone.
  • PLinQ est une des nombreuses extensions de Parallel permettant de profiter conjointement de LinQ et de Parallel. Ce petit article "Query Data with Parallel LinQ" de Charlie Calvert presente une bonne introduction à PLinQ.
    Pour rappel, Parallel est un framework de Microsoft destiné au à faciliter le développement d'application multithread
Mono.Terminal.Editor
C'est un éditeur en ligne de ligne commande qui remplace avantageusement Console.ReadLine() pour les application interactive. Il permet d'éditer la ligne de commande et fournit un support d'historique.
Source: Cet article d'information a propos de la release de mono 2.2 (sur mono-project).

Mono.DataConvert
Mono DataConvert est une librairie qui fournit des routines d'encodage et de décodage pour les types bytes, words, strings et les autres types de donnée pour different type de CPU.
Source: Cet article d'information a propos de la release de mono 2.2 (sur mono-project).

C# interactive shell Super Intéressant!
Déjà abordé une fois ou deux, je reviens à la charge avec "C# interactive shell". Ce dernier dispose maintnant d'une très bonne page d'introduction contenant un certain nombre d'exemples.
Ce document  traitant du remplacement de la commande CSharp documente les fonctionalités disponible dans "C# interactive shell" qui fait maintenant partie intégrante du compilateur C# Mono.
Un shell intéractif fait habituellement référence à des opérations tels que boucles d'évaluation et d'afficahe (read eval print loop) ou repl.
"C# interactive shell" est bati sur la librairie  Mono.CSharp, cette même librairie qui fournit au compilateur C# des services tels que l'évaluation à la volée des expressions et des commandes.

mercredi 11 février 2009

Jamendo, musique libre et piano

Ce n'est pas vraiment mon habitude... mais pour une fois, je vais faire un petit billet concernant de la musique.
Cela fait maintenant un peu plus d'un an que j'ai ouvert un compte sur Jamendo.
Jamendo est une plateforme de distribution de musique "libre".

Il y a des milliers d'albums. Il y en a pour tous les goûts et de temps en temps, certains artistes/albums ressortent du lot.
Ce fût le cas de Rob Costlow (qui a malheureusement retiré certains de ses albums) et Ehma l'année dernière.
Cette fois-ci c'est Maya Filipic qui attire mon attention avec ses très très belles mélodies au piano.

  

mardi 10 février 2009

Le bon père de famille et SA banque

Ces derniers temps, en allumant la télévision, il est bien difficile de rater l’un des nombreux épisodes de notre triste saga bancaire nationale.
Comment ne pas être au courant des multiples déboires de deux des plus grandes banques de notre petit et plat pays qu’est la Belgique.
Je suis client chez l’une d’entre elles et par devoir de réserve, je l’appellerai « MA banque ».

La situation actuelle de “MA banque” fait paniquer plus d'un épargnant… que la situation réelle le confirme ou pas n’y change malheureusement pas grand chose. Depuis des semaines, les faits et gestes des épargnants prouvent, sans l’ombre d’un doute, qu’un vent de panique souffle avec intensité.
Même si cela semble un sujet évident, je n’ai pas l’intention de discuter des différentes responsabilités des administrateurs. Ni de celle à venir des actionnaires, qui par hargne ou inconscience, pourraient encore faire pire que mieux.
Par contre, j’aimerais pointer du doigt le comportement fort peu responsable de nombreux épargnants. Ils finissent même par me faire vraiment peur.

Je comprends qu’il soit difficile, aujourd’hui, de faire confiance au conseil d’administration de « MA banque ». Et l’Etat Belge doit lui aussi comprendre qu’il n’est pas évident de lui faire confiance (malheureusement, les politiciens font trop de promesses qu’ils ne savent pas « vraiment » honorer… tel est la perception du peuple).
C’est qu’à l’égard de l’Etat, il est bien facile d’annoncer « une garantie » mais qu’en sera-t-il s’il était nécessaire de la faire valoir ? Cet argent, l’Etat ne l’a pas, à moins de venir le chercher dans nos poches.
A côtés de tout cela, j’aurais bien plus confiance en la parole des quelques 10.000 personnes travaillants chez “MA banque”. Par les temps qui courent, l’engagement humain me semble une valeur plus fiable… car nous dépendons l’un de l’autre (à quand la pétition ?)

La sur-médiatisation des déboires de “MA banque” est, j’en suis certain, à l’origine de cette magistrale débâcle. C’est qu’à force de crier au loup, il fini par sortir du bois.
Hormis les actionnaires, il ne reste donc qu’une majorité d’épargnants.
Dans ce monde impitoyable, on pense d’abord à soi. Et quand le vent semble tourner, le premier réflexe est encore de se protéger. En tant qu’épargnant, la meilleure façon de se protéger est bien entendu de retirer ses fonds.
Malheureusement, répété par des milliers de personnes, cela devient un acte égoïste et incivique ! (je vais m’expliquer…)
Il faut savoir que, le bon fonctionnement d’une banque dépend de la confiance de ses clients. Si tous ceux-ci commencent à vider leurs comptes, la banque fait inévitablement face à des problèmes de liquidité.
Les propos suivants seront réducteurs, mais auront néanmoins le mérite d’être clairs.

Donc, avec une once de bon sens, l’on se rendra compte que les sommes que nous confions à nos banques ne sont pas entassées dans leurs coffres. Cet argent est converti en produits rentables comme, par exemple, des participations dans des industries. Tout le monde se rendra bien compte qu’en cas de besoin de liquidité, une banque ne sait pas vendre ses participations (une usine ou presque) simplement en claquant des doigts. Et avec la fuite des épargnants, “MA banque” a forcement des mouvements de liquidités conséquentes.
Des milliers d’épargnants jouant au yoyo avec leurs épargnes peuvent vraiment conduire une banque vers de graves difficultés et ce QUELLE QUE SOIT LA BANQUE ! 
Ces gens agissant spéculativement et uniquement dans leur intérêt propre sont de-facto responsables de ces difficultés. Ils font donc, à eux tous, courir un risque non négligeable aux autres épargnants ainsi qu’aux 10.000 employés de cette banque. Ces mêmes employés qui comme vous et moi payent leurs traites et élèvent leurs enfants.
C’est là que je qualifie ce comportement de vidage de compte de comportement incivique et fort peu « humain ». Il faut savoir garder la tête froide mais j’en conviens ce n’est pas forcement facile.

Pour qu’un système fonctionne bien, chacun doit agir dans son intérêt mais aussi dans l’intérêt du système ! Car sans le système, il ne peut y avoir d’intérêt personnel.

Agir en bon père de famille c’est agir dans l’intérêt de sa famille. Et l’intérêt de ma famille est certes de disposer de fonds pour manger mais surtout d’un système économique et bancaire stable. Il me sera bien difficile de recevoir mon salaire si la banque de mon employeur est en difficultés (ou a fait faillite). Il me sera aussi bien difficile d’aller acheter du pain ou faire mes courses.
En « bon père de famille », je pense aussi aux autres pères de familles, ceux qui travaillent chez “MA banque”… ceux dont la croûte dépend aussi de mon comportement d’épargnant.
Malheureusement, pour certains d’entre eux, je crois que les dégâts sont déjà très importants et une vague de licenciement sévira probablement chez “MA banque”.
Finalement, je pense aussi aux autres épargnants en priant pour qu’ils aient aussi un peu de jugeote.

Ainsi, après des mois d’hésitations, j’ai donc finalement décidé de vraiment soutenir le système.
J’ai enlevé quelques pommes de mon panier pour assurer notre subsistance si un problème devait survenir.
Mais le restant de nos biens restera chez “MA banque”.
C’est ainsi que je témoigne mon soutien aux employés de « MA banque », que le stress doit déjà avoir rongé bien au-delà du raisonnable.

En espérant finalement qu'en agissant de la sorte je reste le bon père de famille qui veille sur les siens sans devenir l'un de ceux que je pointe du doigt.

Signé : un « bon » père de famille.

dimanche 8 février 2009

Anglais - Land of black gold (Tintin)

Introduction
Petit plaisir, opportunité et apprentissage.
Voila quelques mots qui résument bien l'ambiance tournant autour d'une récente découverte au BDWorld de Waterloo.
J'y ai en effet déniché "The adventures of Tintin" (aux éditions Egmont) dans la section réservée aux anglophones.
Ayant été un grand fan de Tintin dans ma prime jeunesse, c'est avec un immense plaisir que je ré-entame une nouvelle lecture dans la langue de Shakespear. Génial!
C'est l'occasion de me sortir un peu de mon vocabulaire routinier et technique (arf!).

Vocabulaire

Odd
Etrange, curieux: Something very odd just happened! - Quelque chose d'etrange vient juste d'arriver.
Occasionnel: You have made the odd mistake - tu as fais deux ou trois fautes.
Nbre Impair: To be the odd man out - être de la partie, I felt the odd one out - je ne me sentais pas à ma place. 

The mind boggles!
(expr) Cela laisse rêveur.

Hang around
Trainer, poireauter: Don't let's hang around: someone may come!

To snoop 
Passer sa curiosité, Fureter: If someone is snooping, he's has his chips!

I'll lay it on for you
(expr)  Je mettre (coucher) cela par écrit pour vous.

Deckhands
Deck: le pont (d'un bateau).
Deckhands: les manoeuvres (sur un bateau).

Mingle
Mélanger, mêler:
Se mélanger, se mêler (of things):
Parler a un peu tout le monde (of person):

Meddle
Se mêler (Meddle in):
Toucher à (Meddle with): ex: Un sujet touchant un domaine d'expertise particulier.

Ablaze
En feu, en flamme.
To set sth ablaze - embraser qch.
One single spark could set the world ablaze - une seule étincelle pourrait mettre le feu au monde.

To drown 
Noyer


Silly
Stupide, idiot.
The silly thing is that ... - Ce qui est idiot, c'est que ...
To knock sb silly - Assomer quelqu'un


Wander
Balader:
Errer (en ville)
Radoter, dérailler verbalement: He is wandering... - Il divague...

Trick
Truc, tour, astuce:
Duper: We were tricked - Nous avons étés dupés.

Lost his wits
(expr) Perdre la boule
He seems to lost his wits - Il semble avoir perdu la boule.

Neat
Ordonné, propre: A neat little story - Une petite histoire bien arrangée.

To seize
S'emparer (qlq):
Saisir:

To snatch
Enlever, arracher, saisir:

Thankless / Thankfull
Ingrat / reconnaissant.

I'm done for
(expr) Je suis cuit/pris/fais: If they spot the gun, I'm done for - S'ils voient le fusil, je suis fais.

He is out cold
(expr) Il est dans les vapes.

Pebble
Caillou, Galet.
The sand and pebbles were thrown back.

Hood
Capuche, cagoule
Capote (voiture).
Under the hood.

Tight
Serré(e)
Hang on tight! - Tiens le serré.

We are done for!
(expr) c'est foutu!

Shout
Crier
(expr) To shout st on somebody - Crier quelque chose à quelqu'un.
(expr) To shout down - huer.

Wear Down
User (fatiguer)
(expr) to wear sb down - avoir quelqu'un à l'usure.
He was completely worn out - il était complètement épuisé.

Prank
Blague

Wickedness
Méchanceté

Rascal
Coquin, Vaurien (enfant). 

Cross
1) Croix.
2) Fâcher: To get cross with somebody - Se fâcher avec quelqu'un.
Don't be cross - Ne soyez pas fâché.


To shove
Pousser

Throat
Gorge

Bun
Petit gateau brioche
Honey bun - petit gateau au miel

To sneeze
Eternuer
Sneezing powder

Scouts
Les éclaireurs  

Trail
Trainée
I already given orders for scouts to follow their trail.


Wretched
1) Atroce
2) Démoralisé
3) (for emphasis) Maudit - I can't find the wretched umbrella!


Insane
Fou, dément
The artist went insane - L'artiste est devenu fou

Wicked
1) (evil) méchante, affreuse
2) (excellent) génial... dans le genre une méchante petite blague vraiment génial.

Cliff
Falaise

Delighted
Ravi, enchanté
I'm delighted to meet you.

Godforsaken
Perdu
What brings you to this godforsaken land!

Though
Dure, résistant, solide
This man is tough and cruel
(expr) Tough luck! - Pas de chance!

Ease
1) Faciliter
2) Calmer, soulager, s'atténuer

Threath (différent de Thread)
Menace

Crown
1) Couronne
2) Couronner
(Expr) I'll crown you - Je vais te mettre une calottée.
(Expr) To crown it all - Et pour couronner le tout

Swear (pt swore, pp sworn)
Jurer

Confound
1) Laisser perplexe (puzzle)
2) Faire échouer (frustrated, plans)
(Expr) Crown it! - Quel barbe!

Swine
1) Porc (pig)
2) Salaud, Garce

Heaven's sake!
Mais bon sang!

I have got a score to settle with him
J'ai un compte à régler avec lui.

Gherkin
Cornichon
Be quiet, you miserable little sea-gherkin, you!
 
I keep my work
Je tiens parole

Filthy 
Very bad, very dirty.

Trial
1) Essai
2) Procès

Outbreak
Déclenchement, flambée

mercredi 4 février 2009

LinuTop - Un micro PC de 8 watts

Voici une initiative Française bien intéressante et abordable (280 €).
LinuTop est un miniPC (vraiment mini) à la consommation minimale fonctionnant sous Linux Ubuntu (à voir ici).

Avec un périphérique USB externe comme le IoSafe Solo (un disque dur dans un bunker), j'imagine bien transformer un LinuTop en FileServer et WebServer familial.

Voici une petite vidéo de présentation de LinuTop.
D'autres vidéos sont disponibles sur le site officiel.


Voici une vidéo impressionnate sur les capacités de résistance de IoSafe. A regarder jusqu'au bout!

Pour plus d'information sur IoSafe, jetez un oeil sur cet article de PcInpact.

lundi 2 février 2009

Proverbe africain

Qui avale une noix de coco a confiance en son anus !

Mort de rire!!!

dimanche 1 février 2009

Vocabulaire Anglais

Bend
Fr: Virage (route), Coude (tuyauterie).
To got round the bend.
Devenir chève (expression) 


Goat
Fr: Chèvre.

Throughput
Fr: Rendement maximum, sortie; débit
En: yield; rate of transfer, amount of data that may be transferred in a data channel or through a device in one second
Using database snapshot will improve the database throughput