jeudi 26 août 2010

HackerSpaces parisiens

Les Hacker Space sont des lieux de rencontre et de partage de matériel permettant de mutualiser l'expérience en montages électronique&autres, philosophie & éthique de l'informatique et des "nouvelles technologies" et domaines adjacents.

On en trouve quelques-uns à Paris et en région parisienne :

http://www.phack.fr/

INSEE sources...

Déjà eu envie de se refaire les stats de l'INSEE à la pogne ?
Non ? moi non plus, mais on trouve quand même leurs fichiers en ligne pour exploitation éventuelle :-P


Fichier INDIVIDU, MENAGE et KISH


Il y aurait surement des utilisations intéressantes à en faire.


Pour ce qui est de leur analyse, c'est du dBase, je cite ci dessous l'article de Bodman publié ici (lien).


Base de donnée de l’INSEE
janvier 24, 2010

Un peu de Datamining aujourd’hui, quelque chose de très court, mais qui sera sans doute utile à certain.

Cela concerne la lecture de fichier dBase, car sachons le l’INSEE met à disposition un certain nombre de données au format dBase.

Le premier réflexe face à ce genre de fichier serait de l’ouvrir avec un tableur et d’en sortir directement les valeurs nécessaires. Malheureusement, deux problèmes se posent, la lenteur du programme face à des fichiers de très grande taille, et la limite des tableurs en nombre de lignes.

Pourtant, il existe une méthode bien plus rapide (et bien plus fun !), l’utilisation d’un script, pour lire ces fichiers volumineux comme on l’entend.

Pour cela j’ai choisi le langage PHP. Cela faisait longtemps que je n’avais pas joué avec et puis en plus il dispose déjà de fonctions adaptées à la lecture de fichier dbase.

Voici donc un petit script qui va extraire les catégories socioprofessionnelles (niveau 1) pour un échantillon de 130 000 valeurs :

$CODE[1] = "Agriculteurs exploitants";
$CODE[2] = "Artisans, commerçants et chefs d'entreprise";
$CODE[3] = "Cadres et professions intellectuelles supérieures";
$CODE[4] = "Professions Intermédiaires";
$CODE[5] = "Employés";
$CODE[6] = "Ouvriers";
$CODE[7] = "Retraités";
$CODE[8] = "Autres personnes sans activité professionnelle";

function percent($v,$t) {
return round((( $v / $t ) * 100),2);
}


$db = dbase_open('epcvhf10_in109604.dbf', 0);
if ($db) {
echo("lecture des données possible\n");
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++) {
$row = dbase_get_record_with_names($db, $i);
$cs = trim($row['CS']);
$occupation = trim($row['OCCUPA']);
$age = trim($row['AGE']);
if ( ($occupation == 5 ) or ( $occupation == 6 ) ) $cs = 7;
if ( $age > 14 )
if ($cs != 99 && $cs != '' )
{
$vn1 = substr($cs, 0 , 1 );
if (!isset($n1[$vn1])) $n1[$vn1] = 0;
$n1[$vn1[0]]++;
$population++;
}
}
dbase_close($db);
foreach ( $n1 as $clef => $nombre )
{
echo percent($nombre ,$population) . " : " . $CODE[$clef] . "\n";
}

Une autre fonction interessant dbase_get_header_info($db), permet de récupérer les champs disponibles dans la base.

vendredi 20 août 2010

Dummynet interfaces

The dummy modules in Linux allow you to have multiple "fake" network interfaces on your computer.

It's useful to test distributed programs locally.

Test if dummy is loaded :

lsmod | grep dummy



insmod dummy



Create a first dummy interface :

ifconfig dummy0 10.0.0.1


Create another one :

ifconfig dummy0:1 10.0.0.2


Destroy a dummy interface :

ifconfig dummyX:Y down