arnaud_d
Présentation
Je suis ingénieur en vibrations à Toulouse.
J'ai eu mon premier PC vers mes 8 ans (je crois), c'était un Philips P3120 avec un microprocesseur 8088 cadencé à 10 MHz (si vous avez connu faites moi signe ça me ferait rire ). Avec ça, j'ai appris à programmer en BASIC .
Après une longue période Windows, j'ai découvert Ubuntu mi-2007 : des CD d'installation avaient été mis en libre service à la coupe de robotique à la Ferté-Bernard. J'ai donc installé Feisty (7.04) sur mon sony_vaio_vgn-c1s|Sony Vaio VGN-C1S.
Le Sony Vaio a rendu l'âme après 6 ans de loyaux services (pas trop mal !). J'ai ensuite eu un HP Pavillon dm1-3130 mais qui n'a duré que 2 ans (vive la fiabilité des notebook).
Début 2014 j'ai décidé de monter moi-même mon PC qui comprend :
- Carte mere ASROCK B75M-ITX
- Processeur INTEL Core i5-3350P 3.1GHz - 6Mo cache - sans graphique - Socket LGA1155
- Carte graphique ASUS ATI Radeon HD6670
- Memoire ddr3 KINGSTON Hyper X Blu Red Serie XMP 8G (2x4Go) PC12800 1600MHz CL9
- Boitier COOLER MASTER Elite 120 Advanced
- Alimentation FORTRON RAIDER 550W
- Ventilateur boitier AEROCOOL Shark White Edition - 120 mm
- Clavier bluestork KB-MEDIAFIRST2
J'avais même demandé conseils sur le forum (voir discussion)
J'utilise essentiellement :
- Darktable pour mes développements photos (j'utilise la version de dev sur Github)
- Shotwell pour trier mes photos
- Geany pour coder en C++, bash et parfois même Matlab !
- CherryTree, une petite merveille qui me sert de bloc-note géant dans lequel je mélange astuces perso, pro, informatique, bricolage. Tout sur tout ! Le remède à la question "Comment j'avais fait déjà ?"
J'ai beaucoup utilisé par le passé:
Je pratique différents langages de programmation (à mon niveau !):
- C
- C++ (avec framework Qt)
Participations (épisodiques, je l'avoue)
- Traduction de Scilab sur le Launchpad
- Documentation, en particulier sur les PC dont je dispose, un sony_vaio_vgn-c1s|Sony Vaio VGN-C1S et un HP Pavilion DM1-3130.
Où me retrouver
- Sur IRC Freenode
- Sur Launchpad
Scripts, programmes, astuces que je souhaite partager
Scripts Bash en relation avec la photographie
Statistiques Exif
- exifstats.sh
#!/bin/sh if [ "`uname -o`" = "GNU/Linux" ] then html_reader="/usr/bin/firefox" else html_reader="/cygdrive/c/Users/NG002B82/Local\ Settings/Application\ Data/Mozilla\ Firefox/firefox.exe" fi mkdir exifstats_data # TODO : # - corrélation ouverture / focale # - vitesse d'obturation # Recherche de fichiers et récupérations des informations find . -iname '*.jpg' -exec exif '{}' \; | awk 'BEGIN{FS="|"}/^Focal Length /{n_foc[$2]++}END {for (k in n_foc) {printf("%.3g %s\n",k,n_foc[k])}}' | sort -n > exifstats_data/focale.dat find . -iname '*.jpg' -exec exif '{}' \; | awk 'BEGIN{FS="|"}/^F-Number/{n_foc[$2]++}END {for (k in n_foc) {printf("%.3g %s\n",substr(k,3,5),n_foc[k])}}' | sort -n > exifstats_data/aperture.dat find . -iname '*.jpg' -exec exif '{}' \; | awk 'BEGIN{FS="|"}/^ISO Speed Ratings/{n_foc[$2]++}END {for (k in n_foc) {printf("%d %d\n",k,n_foc[k])}}' | sort -n > exifstats_data/ISO.dat # Rédaction du script gnuplot # \EOF indique qu'il ne faut rien interpréter gnuplot <<\EOF reset set terminal svg font "Calibri" size 1000,400 unset key set style fill solid 1.0 # force le minimum de y à 0 set yrange [0:] # ===== FOCALE ===== set out 'exifstats_data/focale.svg' set xlabel 'Focale (mm)' set ylabel 'Nombre de photos' set xtics rotate by 90 offset character 0, -1 set style data histograms p 'exifstats_data/focale.dat' u 2:xticlabels(1) set out # ======= OUVERTURE ====== set out 'exifstats_data/aperture.svg' set xlabel 'Ouverture' set ylabel 'Nombre de photos' set xtics rotate by 90 offset character 0, -1 p 'exifstats_data/aperture.dat' u 2:xticlabels(1) set out # ======= ISO ======= set out 'exifstats_data/ISO.svg' set xlabel 'ISO' set ylabel 'Nombre de photos' set xtics rotate by 90 offset character 0, -2 p 'exifstats_data/ISO.dat' u 2:xticlabels(1) set out EOF cat <<EOF > exifstats.htm <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <head> <title>Statistiques photo</title> </head> <body> <img src="exifstats_data/focale.svg"> <img src="exifstats_data/aperture.svg"> <img src="exifstats_data/ISO.svg"> </body> EOF $html_reader exifstats.htm &
Vérificateur de prix sur le site Grosbill.com
Lorsque j'ai décidé d'acheter mes compostants pour mon PC sur Grosbill, j'ai créé ce petit script afin de vérifier l'avolution des prix et surtout pour voir rapidement si l'un des composants avait été soldé.
- grosbill.sh
#!/bin/bash # definition du nom du fichier de sortie avec la date du jour ofile=$(date +"%d-%b".txt) # initialisation de total au frais de port total=9.90 # Declaration d'une liste contenant les URL declare -A device_list device_list=( ["Mere"]="http://www.grosbill.com/4-asrock_b75m_itx_-163764-informatique-_carte_mere" \ ["Graphique"]="http://www.grosbill.com/4-asus_ati_radeon_hd6670_-164090-informatique-ati" \ ["CPU"]="http://www.grosbill.com/4-intel_core_i5_3350p_3_1ghz_6mo_cache_sans_graphique_socket_lga1155_-166202-informatique-_processeur" \ ["Boitier"]="http://www.grosbill.com/4-cooler_master_cm_690_ii_advanced_black_and_white_-169848-informatique-boitier" \ ["RAM"]="http://www.grosbill.com/4-x-168285-x-xx" \ ["Alim"]="http://www.grosbill.com/4-fortron_raider_550w_-190863-informatique-alimentation_atx" \ ["Fan"]="http://www.grosbill.com/4-aerocool_shark_white_edition_120mm_-173184-informatique-ventilateur_boitier" \ ["Clavier"]="http://www.grosbill.com/4-bluestork_kb_mediafirst2_-143786-peripheriques-clavier" \ ) # Pour chaque composant, recuperer le prix et l'ajouter au total # La ligne contenant le prix est celle-ci : # <meta itemprop="price" content="75.24" /> # donc le search pattern est # .*content="\(.*\)" \/> for device in "${!device_list[@]}" do price=$(wget ${device_list["$device"]} -O - -o /dev/null\ | grep 'itemprop="price"' | sed -e 's/.*content="\(.*\)" \/>/\1/') total=$(echo $total + $price | bc) echo -e "$device \t $price" >> $ofile; done echo -e "TOTAL \t $total" >> $ofile; # Ranger les donnees dans le fichier en colonnes et reecrire le fichier column -t $ofile | tee $ofile
Fichiers de coloration syntaxique GtkSourceView
Ces fichiers sont à copier dans /usr/share/gtksourceview-3.0/language-specs
Gnuplot
Je me suis basé sur le travail de Martin Schlenker sur cette page, mais j'ai complètement refait la liste des mots-clés et ai utilisé un nouveau style, identifier, pour ce que j’appelle les paramètres.
- gnuplot.lang
<?xml version="1.0" encoding="UTF-8"?> <!-- Author: Martin Schlenker & Arnaud Dessein Copyright (C) 3/2009 Martin Schlenker <schlenker.martin@gmx.de> Copyright (C) 12/2011 Arnaud Dessein <arnaud.dessein@gmail.com> This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA --> <language id="gnuplot" _name="GNUplot" version="3.0" _section="Scientific"> <metadata> <property name="mimetypes">text/x-gnuplot</property> <property name="globs">*.plt</property> <property name="line-comment-start">#</property> </metadata> <styles> <style id="command" _name="Command" map-to="def:keyword"/> <style id="function" _name="Function" map-to="def:function"/> <style id="constant" _name="Constant" map-to="def:constant"/> <style id="parameter" _name="Parameter" map-to="def:identifier"/> <style id="floating-point" _name="Floating point number" map-to="def:floating-point"/> </styles> <definitions> <context id="constant" style-ref="constant"> <keyword>canvas</keyword> <keyword>cgm</keyword> <keyword>corel</keyword> <keyword>dpu414</keyword> <keyword>dumb</keyword> <keyword>dxf</keyword> <keyword>eepic</keyword> <keyword>emf</keyword> <keyword>emtex</keyword> <keyword>epslatex</keyword> <keyword>epson_180dpi</keyword> <keyword>epson_60dpi</keyword> <keyword>epson_lx800</keyword> <keyword>fig</keyword> <keyword>gif</keyword> <keyword>hp2623A</keyword> <keyword>hp2648</keyword> <keyword>hp500c</keyword> <keyword>hpdj</keyword> <keyword>hpgl</keyword> <keyword>hpljii</keyword> <keyword>hppj</keyword> <keyword>imagen</keyword> <keyword>jpeg</keyword> <keyword>latex</keyword> <keyword>lua</keyword> <keyword>mf</keyword> <keyword>mif</keyword> <keyword>mp</keyword> <keyword>nec_cp6</keyword> <keyword>okidata</keyword> <keyword>pbm</keyword> <keyword>pcl5</keyword> <keyword>pdfcairo</keyword> <keyword>png</keyword> <keyword>pngcairo</keyword> <keyword>postscript</keyword> <keyword>pslatex</keyword> <keyword>pstex</keyword> <keyword>pstricks</keyword> <keyword>qms</keyword> <keyword>starc</keyword> <keyword>svg</keyword> <keyword>tandy_60dpi</keyword> <keyword>texdraw</keyword> <keyword>tgif</keyword> <keyword>tikz</keyword> <keyword>tkcanvas</keyword> <keyword>tpic</keyword> <keyword>unknown</keyword> <keyword>windows</keyword> <keyword>wxt</keyword> </context> <context id="command" style-ref="command"> <keyword>cd</keyword> <keyword>call</keyword> <keyword>clear</keyword> <keyword>exit</keyword> <keyword>fit</keyword> <keyword>help</keyword> <keyword>history</keyword> <keyword>if</keyword> <keyword>load</keyword> <keyword>pause</keyword> <keyword>plot</keyword> <keyword>using</keyword> <keyword>u</keyword> <keyword>with</keyword> <keyword>w</keyword> <keyword>index</keyword> <keyword>every</keyword> <keyword>smooth</keyword> <keyword>thru</keyword> <keyword>print</keyword> <keyword>pwd</keyword> <keyword>quit</keyword> <keyword>replot</keyword> <keyword>reread</keyword> <keyword>reset</keyword> <keyword>save</keyword> <keyword>set</keyword> <keyword>show</keyword> <keyword>unset</keyword> <keyword>shell</keyword> <keyword>splot</keyword> <keyword>system</keyword> <keyword>test</keyword> <keyword>unset</keyword> <keyword>update</keyword> <keyword>replot</keyword> </context> <context id="parameter" style-ref="parameter"> <keyword>angles</keyword> <keyword>arrow</keyword> <keyword>autoscale</keyword> <keyword>bars</keyword> <keyword>bmargin</keyword> <keyword>border</keyword> <keyword>boxwidth</keyword> <keyword>clabel</keyword> <keyword>clip</keyword> <keyword>cntrparam</keyword> <keyword>colorbox</keyword> <keyword>contour</keyword> <keyword>datafile</keyword> <keyword>decimalsign</keyword> <keyword>dgrid3d</keyword> <keyword>dummy</keyword> <keyword>encoding</keyword> <keyword>fit</keyword> <keyword>fontpath</keyword> <keyword>format</keyword> <keyword>functions</keyword> <keyword>function</keyword> <keyword>grid</keyword> <keyword>hidden3d</keyword> <keyword>historysize</keyword> <keyword>isosamples</keyword> <keyword>key</keyword> <keyword>label</keyword> <keyword>lmargin</keyword> <keyword>loadpath</keyword> <keyword>locale</keyword> <keyword>logscale</keyword> <keyword>mapping</keyword> <keyword>margin</keyword> <keyword>mouse</keyword> <keyword>multiplot</keyword> <keyword>mx2tics</keyword> <keyword>mxtics</keyword> <keyword>my2tics</keyword> <keyword>mytics</keyword> <keyword>mztics</keyword> <keyword>notitle</keyword> <keyword>offsets</keyword> <keyword>origin</keyword> <keyword>output</keyword> <keyword>parametric</keyword> <keyword>pm3d</keyword> <keyword>palette</keyword> <keyword>pointsize</keyword> <keyword>polar</keyword> <keyword>print</keyword> <keyword>rmargin</keyword> <keyword>rrange</keyword> <keyword>samples</keyword> <keyword>size</keyword> <keyword>style</keyword> <keyword>surface</keyword> <keyword>terminal</keyword> <keyword>tics</keyword> <keyword>ticslevel</keyword> <keyword>ticscale</keyword> <keyword>timestamp</keyword> <keyword>timefmt</keyword> <keyword>title</keyword> <keyword>tmargin</keyword> <keyword>trange</keyword> <keyword>urange</keyword> <keyword>variables</keyword> <keyword>version</keyword> <keyword>view</keyword> <keyword>vrange</keyword> <keyword>x2data</keyword> <keyword>x2dtics</keyword> <keyword>x2label</keyword> <keyword>x2mtics</keyword> <keyword>x2range</keyword> <keyword>x2tics</keyword> <keyword>x2zeroaxis</keyword> <keyword>xdata</keyword> <keyword>xdtics</keyword> <keyword>xlabel</keyword> <keyword>xmtics</keyword> <keyword>xrange</keyword> <keyword>xtics</keyword> <keyword>xzeroaxis</keyword> <keyword>y2data</keyword> <keyword>y2dtics</keyword> <keyword>y2label</keyword> <keyword>y2mtics</keyword> <keyword>y2range</keyword> <keyword>y2tics</keyword> <keyword>y2zeroaxis</keyword> <keyword>ydata</keyword> <keyword>ydtics</keyword> <keyword>ylabel</keyword> <keyword>ymtics</keyword> <keyword>yrange</keyword> <keyword>ytics</keyword> <keyword>yzeroaxis</keyword> <keyword>zdata</keyword> <keyword>zdtics</keyword> <keyword>cbdata</keyword> <keyword>cbdtics</keyword> <keyword>zero</keyword> <keyword>zeroaxis</keyword> <keyword>zlabel</keyword> <keyword>zmtics</keyword> <keyword>zrange</keyword> <keyword>ztics</keyword> <keyword>cblabel</keyword> <keyword>cbmtics</keyword> <keyword>cbrange</keyword> <keyword>cbtics</keyword> <keyword>out</keyword> <keyword>font</keyword> <keyword>lines</keyword> <keyword>lw</keyword> <keyword>missing</keyword> <keyword>lp</keyword> <keyword>pt</keyword> </context> <context id="function" style-ref="function"> <keyword>abs</keyword> <keyword>acos</keyword> <keyword>acosh</keyword> <keyword>arg</keyword> <keyword>asin</keyword> <keyword>asinh</keyword> <keyword>atan</keyword> <keyword>atan2</keyword> <keyword>atanh</keyword> <keyword>besj0</keyword> <keyword>besj1</keyword> <keyword>besy0</keyword> <keyword>besy1</keyword> <keyword>ceil</keyword> <keyword>cos</keyword> <keyword>cosh</keyword> <keyword>erf</keyword> <keyword>erfc</keyword> <keyword>exp</keyword> <keyword>floor</keyword> <keyword>gamma</keyword> <keyword>ibeta</keyword> <keyword>inverf</keyword> <keyword>igamma</keyword> <keyword>imag</keyword> <keyword>invnorm</keyword> <keyword>int</keyword> <keyword>lambertw</keyword> <keyword>lgamma</keyword> <keyword>log</keyword> <keyword>log10</keyword> <keyword>norm</keyword> <keyword>rand</keyword> <keyword>real</keyword> <keyword>sgn</keyword> <keyword>sin</keyword> <keyword>sinh</keyword> <keyword>sqrt</keyword> <keyword>tan</keyword> <keyword>tanh</keyword> <keyword>column</keyword> <keyword>defined</keyword> <keyword>tm_hour</keyword> <keyword>tm_mday</keyword> <keyword>tm_min</keyword> <keyword>tm_mon</keyword> <keyword>tm_sec</keyword> <keyword>tm_wday</keyword> <keyword>tm_yday</keyword> <keyword>tm_year</keyword> <keyword>valid</keyword> </context> <context id="floating-point" style-ref="floating-point"> <match extended="true"> (?<![\w\.]) ([0-9]+[Ee][-+]?[0-9]+| ([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-+]?[0-9]+)?) [i]? (?![\w\.]) </match> </context> <context id="gnuplot"> <include> <context ref="def:shell-like-comment"/> <context ref="def:string"/> <context ref="def:single-quoted-string"/> <context ref="command"/> <context ref="function"/> <context ref="constant"/> <context ref="parameter"/> <context ref="floating-point"/> </include> </context> </definitions> </language>