Mes trouvailles du jour : 14 June 2012

Mes trouvailles du jour : 12 June 2012

  • cat-instead-of-lion.gif (Image GIF, 497×275 pixels)
    C’est toujours un félin, mais un peu moins gros 😉
    (via lehollandaisvolant)
  • Pointer Pointer by @StudioMoniker
    Délire 🙂
  • Observatoire des inégalités
    Analyse du Crédoc sur l’évolution des prix de l’immobilier :
    "Entre 1996 et 2011, les prix des logements anciens ont été multipliés par 2,5 et les loyers par 1,6, tandis que le revenu était multiplié par 1,5."

    Paye-ta-bulle.com !

  • Le Blog d’Olivier Berruyer sur les crises actuelles
    Le point sur l’évolution mensuelle des prêts bancaires (notamment aux ménages).

    Analyse d’Olivier Berruyer :
    "C’est probablement un signe annonciateur d’un net retournement des prix immobiliers – rappelons que la France est un des derniers pays dont la bulle immobilière n’a pas explosé…"

    A bon entendeur…

  • Le Blog d’Olivier Berruyer sur les crises actuelles
    Olivier Berruyer tape sur la bourse (à juste titre) et propose des solutions "cadrantes" intéressantes :
    1/ réaliser un seul fixing par jour à la Bourse (bref, la valeur d’une action ne changera qu’une fois par jour, basta – c’est déjà énorme) – et imposer cette règle dans la comptabilisation pour limiter les contournements ;
    2/ interdire toute annulation d’ordre d’achat avant sa passation (c’est quoi ce délire ?) ;
    3/ taxer à 90 % tout profit financier réalisé en moins d’une semaine ;
    4/ créer un crime de manipulation de cours, avec 10 ans ferme + une amende allant jusqu’à 1000 fois le profit réalisé, suivant l’appréciation du juge.
  • Gaming – HTML5 Rocks
    Un ensemble de tutos sur HTML5 (notamment sur les API permettant de développer des jeux)
  • Royalty Free Music
    Tout plein de musiques au format MP3 librement utilisable (en créditant l’auteur, licence Creative Commons: By Attribution). Idéal pour des musiques d’ambiance, de jeux, de vidéos, …
  • three.js webgl – dynamic procedural terrain
    Superbe animation en WebGL (51 FPS dans mon browser)
  • Quake 3 WebGL Demo
    Quake 3 dans un browser… 55 FPS sur ma bécane.

Mes trouvailles du jour : 11 June 2012

Mes trouvailles du jour : 8 June 2012

Mes trouvailles du jour : 7 June 2012

Mes trouvailles du jour : 6 June 2012

Conversion Mysql -> Sqlite

Après quelques minutes heures de batailles, enfin un script qui fonctionne pour convertir votre schéma + vos data Mysql vers Sqlite. Merci à nfuria sur SOF

Je pensais la conversion simple via une option directe dans mysqldump… Pas du tout, c’est le parcours du combattant pour passer du format Mysql à Sqlite. Ce script est le meilleur : il fonctionne d’un coup (j’en ai testé 5 autres avec différents niveau de succès). L’astuce du script est que plutôt que vouloir retravailler le dump mysql à la main en virant les caractères non acceptés par sqlite ou en supprimant certaines instructions SQL, il se base sur le module (fiable) SQL::Translator de Perl.

Nécessite donc d’avoir le paquet “sqlfairy” installé.


#!/bin/sh
#===============================================================================
#         USAGE: ./mysql2sqlite.sh  
#   DESCRIPTION: Converts MySQL databases to SQLite
#                Triggers are not converted
#  REQUIREMENTS: mysqldump, Perl and module SQL::Translator, SQLite 
#===============================================================================
if [ "$#" = 2 ]; then
    USER="$2"    
else
    echo "Usage: $0  "
    exit
fi
if [ -s $1.db ]; then
    read -p "File <$1.db> exists. Overwrite? [y|n] " ANS
    if [ "$ANS" = "y" ] || [ "$ANS" = "Y" ] ; then
        rm $1.db 
    else 
        echo "*** Aborting..."
        exit
    fi
fi   
# extracts the necessary structure for SQLite:
mysqldump --skip-triggers --skip-add-locks --routines --no-data --compatible=ansi \
    --compact -u $USER --password $1 > /tmp/$1_$$_str.sql
# verify
if [ ! -s /tmp/$1_$$_str.sql ]; then
    echo "*** There are some problem with the dump. Exiting."
    exit
fi
# translates MySQL syntax structure to SQLite using the script "sqlt" of the
# perl module SQL::Translator (that corrects the foreign keys, indexes, etc.)
sqlt -f MySQL -t SQLite --show-warnings /tmp/$1_$$_str.sql \
    1> /tmp/$1_$$.sqlite 2> /tmp/$1_$$_sqlt.log
# verify
if [ ! -s /tmp/$1_$$.sqlite ]; then
    echo "*** There are some problem with the sql translation. Exiting."
    exit
fi
# adds statements to allow to load tables with foreign keys:
echo "PRAGMA foreign_keys=OFF;" >> /tmp/$1_$$.sqlite
echo "BEGIN TRANSACTION;" >> /tmp/$1_$$.sqlite
# extracts the data (simple inserts) without locks/disable keys, 
# to be read in versions of SQLite that do not support multiples inserts:
mysqldump --skip-triggers --no-create-db --no-create-info --skip-add-locks \
    --skip-extended-insert  --compact -u $USER \
    --password $1 >> /tmp/$1_$$.sqlite
# adds statements to finish the transaction:
echo "COMMIT;" >> /tmp/$1_$$.sqlite
echo "PRAGMA foreign_keys=ON;" >> /tmp/$1_$$.sqlite
# correct single quotes in inserts
perl -pi -e ' if (/^INSERT INTO/) { s/\\'\''/'\'\''/g; } ' /tmp/$1_$$.sqlite
# load the sql file and generate the SQLite db with the same name 
# of the MySQL database
sqlite3 $1.db < /tmp/$1_$$.sqlite 2> /tmp/$1_$$sqlite.errlog
# verify
ERRORS=`cat /tmp/$1_$$sqlite.errlog | wc -l`
if [ $ERRORS = 0 ]; then
    echo "* Conversion complete. Verify the file < $1.db >"
    rm /tmp/$1_$$*
else
    echo "*** There are some problem. Verify the files < /tmp/$1_$$* >"
fi

Les Nouveaux Chiens de Garde

Si ce n’est pas fait, allez voir ce film : les nouveaux chiens de garde

Un vrai bijou aussi bien sur le fond que sur la forme, ce film démontre à quel point l’information est “manipulée”, par un groupe de crabe assez restreint.

Dans le film, vous verrez notamment comment tout ce “gratin” d’experts,
de politiques, de journalistes et de patrons se réunissent 1 fois par
mois.
Si la liste des membres du Cercle du Siècle vous intéresse, c’est par là : le-siecle.zip (à prendre tel quel, le document n’a évidemment pas été authentifié).

Le film montre avec force d’explication et de légende “en réalité augmenté” à quel groupe financier ou industriel les experts, journalistes et hommes politiques appartiennent. Les conflits d’intérêts sont tellement nombreux et évident, que le film est dense en informations !
(je rêve d’ailleurs d’un plugin permettant d’afficher en sur-impression – comme dans le film – les appartenance financières et aux conseils d’administrations des personnes à l’écran)

Les journalistes sont précarisés (comme le reste de la société), sont aux “ordres” de leur patron (comment être indépendant dans ses propos en étant salarié ?) et les sujets ou questions qui fâchent sont évidemment soigneusement évités.

Je repense encore à ce week end où un ami m’a sorti (ce n’est pas le premier) : “ben oui je regarde la TV, mais c’est pour m’informer avec le JT”. Quelle erreur funeste !