lundi 11 octobre 2010

copy-paste+url (ffox extention) ThiTan

Firefox extension for having a "copy-paste" that also copies the URL of the page. Very useful for citing blogs, webpages, etc. and easily keep the reference of the page ;-)

Announcement of the addon :
http://formats-ouverts.org/blog/2010/03/14/2292-thitan

Page of the addon :
https://addons.mozilla.org/fr/firefox/addon/11066/

dimanche 10 octobre 2010

(links) For my camera


AVCHD Videos

I've got a Panasonic DMC-ZX3 since a few month and I found a few informations on how to view, convert, etc. the videos it takes. They are in HD and outputed in a strange .MTS files (and some others, I'll write more on that some time later). Regular players can't read those files, and I eventually found some converting tools under linux (I'm using ubuntu)


AVCHD = sudo apt-get install libavcodec-extra-52 winff openshot
http://blog.yann.info/2010/05/16/avchd-pour-les-nuls-et-les-pauvres/





Tethering (using computer as a screen for the camera while shooting)

Meanwhile, I found this website explaining how to use your computer screen for your camera. I didn't test already, but I like the idea.


http://grahambinns.com/blog/2010/04/18/gphoto2-f-spot-win/

jeudi 7 octobre 2010

Option Dash Dash

Une propriété intéressante des outils gnu,bsd&cie. est la possiblité d'indiquer la fin du passage des options avec un "--" (dash dash).

Pratique par exemple pour faire un grep sur quelquechose qui pourrait ressembler à une option, sans que la chaine à chercher ne soit interprétée comme otion de grep. Mais ce n'est qu'un exemple.


Application, pour chercher toutes les occurences de '-l' dans le fichier 'toto.txt' :

grep -- -l toto.txt

mercredi 15 septembre 2010

Mettre un stamp sur une image

Avec convert (de Imagemagick), fonctionne bien avec la version :

$convert --version
Version: ImageMagick 6.5.7-8 2009-11-26 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC
Features: OpenMP



#!/bin/bash
# stamp timbre A_marquer Img_finale

# (c) 2007-2010 by C.M.
# under the GPL License

# prendre deux fichiers d'images
# l'un étant un "sceau" et l'autre une photo
# et marquer la photo du sceau, en bas à droite (ou gauche)
# Image timbre
SCEAU="$1"
# Image à marquer
PIC="$2"
# Fichier de sortie
OUT_IMAGE="$3"
# Proportion du timbre par rapport à l'image
SCALE="/ 20"


# dimensions de l'image à marquer
width_pic=`identify -format %w "$PIC"`
height_pic=`identify -format %h "$PIC"`

# dimensions du sceau
width_sceau=`identify -format %w "$SCEAU"`
height_sceau=`identify -format %h "$SCEAU"`

# dimensions auxquelles réduire le sceau
stamp_w=$(( $width_pic $SCALE * 2))
stamp_h=$(( $height_pic $SCALE))


# dimensionner le sceau à la bonne taille
# PUIS mettre un bord transparent autour du sceau pour qu'il ne soit pas au bord
# PUIS coller le sceau sur l'image avec un dissolve
convert "${SCEAU}" -resize "${stamp_w}"x"${stamp_h}"\> \
-size "${stamp_w}"x"${stamp_h}" miff:- |\
convert - -matte -bordercolor none -border 20% miff:- |\
convert "$PIC" - -matte -gravity South-East \
-set "option:compose:outside-overlay" "false" \
-compose Over \
-compose dissolve -set "option:compose:args" 60 \
-composite "$OUT_IMAGE"




TODO :
  • ajouter un texte en option qui serait placé sous le sceau

  • changer la proportion en fonction de la taille de l'image ? (mais quel seuil??)
  • dimanche 5 septembre 2010

    Nautilus Main Toolbar made compact

    Since I've got my Asus eeepc 1000h, I've been looking from time to time for a way to reduce spare space on the different apps. I hence went for ubuntu-notebook-remix and it's customizations, but not everything was included. Noticeably, Nautilus, the default file browser for gnome has a "main toolbar" very space-greedy, and without simple customization ways proposed.


    I found this page pointing to some package to customize the toolbar. Look at the screenshots on this page to see the effect. If the link is down, look for the package to install (code is bellow).

    "nautilus elementary"

    Those commands were copy-pasted from the above link for re-usability :

    To install "nautilus-elementary" from it's PPA :

    sudo add-apt-repository ppa:am-monkeyd/nautilus-elementary-ppa
    sudo apt-get update && sudo apt-get upgrade
    nautilus -q #restarts nautilus



    To compile nautilus

    sudo apt-get install bzr
    sudo apt-get build-dep nautilus
    bzr branch lp:nautilus-elementary
    cd nautilus-elementary/
    ./configure --prefix=/usr && make
    sudo make install

    And restart nautilus :

    nautilus -q




    That's it. Then customize everything to suit your needs via the Tweaks tab you can find via Edit > Preferences menu in Nautilus. To customize the toolbar, simply right click on it.

    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

    mardi 22 juin 2010

    snippets latex beamer (by Tom P.)


    \mode
    % Par opposition au mode article qui permet de faire des notes de lectures à
    partir d'une présentation



    \usepackage{comment}
    % Purpose:
    % selectively in/exclude pieces of text: the user can define new
    % comment versions, and each is controlled separately.
    % Special comments can be defined where the user specifies the
    % action that is to be taken with each comment line.



    \usepackage{colortbl}
    % The colortbl package:
    % Add colour to LaTeX tables. Requires array and color packages.
    % Process colortbl.ins to produce the package file colortbl.sty.
    % Process colortbl.dtx to get the documentation (this requires
    % longtable hhline and dcolumn from the standard `tools'
    % distribution.)



    \selectcolormodel{gray}
    % Mettre les slides en nuances de gris
    \usepackage{pgfpages}
    % package nécessaire pour mettre plusieurs slides par pages
    \pgfpagesuselayout{8 on 1}[a4paper,border shrink=5mm]
    % Combien de slides par page
    \pgfpageslogicalpageoptions{1}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{2}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{3}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{4}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{5}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{6}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{7}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    \pgfpageslogicalpageoptions{8}{border
    code=\pgfsetlinewidth{1.5bp}\pgfusepath{stroke},corner width=4mm}
    % Mettre des cadres autour des slides et un petit coin noir



    \PrerenderUnicode{é}
    \PrerenderUnicode{à}
    \PrerenderUnicode{œ}
    % Pour avoir ces caractères unicode dans les titres des slides sans refaire
    une passe latex supplémentaire



    \bsc
    %babel propose la commande \bsc pour placer un bout de texte en petites
    %capitales. Cela peut être pratique pour les acronymes, siglaisons et les noms
    %propres.



    % Macro de A. Kassi (alain.kessi@psi.ch)
    \makeatletter
    \def\hlinewd#1{%
    \noalign{\ifnum0=`}\fi\hrule \@height #1 %
    \futurelet\reserved@a\@xhline
    }
    \makeatother
    % modifie l'épaisseur d'un trait dans un tableau
    %Exemple :
    %\begin{tabular}{|l|r|} \hline
    % premier & 1 \\ \hline
    % second & 2 \\ \hlinewd{5pt}
    % total & 3 \\ \hline
    %\end{tabular}
    %%%% fin exemple %%%%




    Enjoy :)

    Tom

    mercredi 9 juin 2010

    Aspect Programming

    FROM : http://www.aspectprogramming.com/aosd


    What is Aspect-Oriented Software Development?

    Aspect-Oriented Software Development (AOSD), sometimes just called Aspect-Oriented Programming (AOP), is a new approach to software design that addresses modularity problems that are not handled well by other approaches, including Structured Programming and Object-Oriented Programming (OOP). AOSD complements, but doesn't replace those approaches.