SQL : obtenir une séquence d'entiers


3 juillet 2011

J'aimerai obtenir une séquence d'entiers compris entre 15, inclus, et 100, exclus, avec la requête suivante :

select value from sequence where value>=15 and value<100;

Pour cela il faut définir, offline, les deux views suivantes et c'est bon :

create view digits as select 0 n union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9;
create view sequence as select u.n+t.n*10+h.n*100 as value from digits as u cross join digits as t cross join digits as h;

Le vue sequence permet donc d'avoir des nombres compris entre 0 et 1000.

Web : première extension Chrome


30 mai 2011

J'avais besoin de pouvoir stocker toutes les pages ouvertes au sein de toutes les instances de Chrome ouvertes et j'ai donc pour cela réalisé ma première extension. Il faut savoir que je n'ai eu besoin que d'un fichier manifest.json décrivant l'extension et d'un fichier HTML classique avec le code Javascript qui va bien. Les deux fichiers sont à stocker dans un dossier à charger depuis la page chrome://extensions/.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <script>
        var Output = "";    var LinkId = 0;
        var AllWindows = chrome.windows.getAll({populate:true}, function(wnds)  {
            for (var WIdx in wnds)      {
                var WndDiv = document.createElement("div");
                WndDiv.id = "wnd-"+wnds[WIdx].id;
                document.getElementById("content").appendChild(WndDiv);
                WndDiv["innerHTML"] += "<div>Fenêtre d'Id "+wnds[WIdx].id+</div>\n";
                (function(wid)      {
                    chrome.tabs.getAllInWindow(wid, function(tabs)      {
                        for(var TIdx in tabs)       {
                            document.getElementById("wnd-"+wid).innerHTML += 
                                (LinkId++)+" :<a href='"+tabs[TIdx].url+"'>"+
                                    tabs[TIdx].title+</a><br/>\n";
                        }
                    })
                })(wnds[WIdx].id);
            }
        })
    </script>
    <style>
        body    {   width:800px;    height:400px;   }
        #title  {   text-align:center;  font-weight:bold;   background-color:#CCC;      }
        #content > div > div    {   color:#FF8888;  font-weight:bold;   font-size:100%; }
        #content > div          {   color:black;    font-size:80%;  }
        #content > div > a      {   color:blue; }
    </style>
</head>
<body>
    <div id='title'>Fenêtres overtes</div>
    <div id='content'></div>
</body>
</html>

{ 
    "format_version": 1, 
    "id": "a16656a039d8b23731b3e933914f8bd7",
    "version": "1.0", 
    "name": "Opened URLs exporter", 
    "description": "Extraction des URLs de tous les tabs de toutes les fenêtres Chrome en cours d'exécution",
    "permissions": ["tabs"],
    "browser_action": {
        "default_icon": "icon.png",
        "popup":"tool.html"
    }
} 

Et quand je clique dans l'icône de l'extension de la barre d'outil j'avais mes 75 URLs qui étaient affichées (presque) joliment.

Lecture : achitecture d'applications open-source


28 mai 2011

Un très bon bouquin concernant l'architecture d'applications Open-Source qui de plus est en libre accès.

Bash : meuh ?


23 mai 2011

Comment se comprend la commande suivante ?

echo "hello world world hello world" | awk '{$1=$1}1' OFS=":"

Sachant qu'elle produit la sortie :

hello:world:world:hello:world

On l'aura compris, ce qui me dérange, c'est ce qui est entre accolades...

Linguistique : reprise des hostilités


23 mai 2011

Hormis le fait que pour une personne maniant tellement bien les notions de syntaxe et de sémantique son site n'en constitue pas la preuve (et loin de là...) ce qui est une gageure à la limite du honteux, Fabienne Venant dispose de beaucoup d'articles qui m'ont passionné.

Parmi ceux-ci, Géométriser le sens lexical. La synonymie comme accès à la sémantique qui m'a prouvé que des gens étaient intéressé par des choses qui me titillent également. J'ai l'impression que sa thèse est bien aussi, mais là il va falloir potasser un peu plus, et j'ai un métier moi :) (Excuse moisie d'un jaloux, on aura compris)

Pour terminer cette petite brève, j'ai trouvé un autre PDF qui discute des néologismes et de leurs détections automatique possibles (duh !) et, si l'article est intéressant parce que précis, il expose le fonctionnement de l'ATILF en général et de certaines équipes en particulier. J'aurai beaucoup à y redire (j'ai l'impression que peu de personnes férues d'informatique sont à compter parmi les membres de l'ATILF) mais ça a le mérite d'exister. On peut critiquer la recherche en France mais surtout au niveau de l'encadrement, les chercheurs eux-mêmes sont apparemment des passionnés, ça fait plaisir à voir.

1 2 3... 7 8 9 10 11...... 18 19 20