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.
mercredi 9 juin 2010
Aspect Programming
mardi 25 mai 2010
Perl One-liner
Un des défauts de perl est que rapidement quand le script devient un peu long.
Un bon compromis : faire des scripts très courts :-)
La page suivante présente un certain nombre d'exemple d'utilisation de perl sans passer par un script indépendant dans un fichier, et en utilisant plutôt une simple ligne ("One Liner") de code directement sur la ligne de commande :
http://sial.org/howto/perl/one-liner/
lundi 17 mai 2010
PDF merge & reduce size
Merge PDF with pdftk
pdftk 00-page1.pdf 01-page2.pdf 03-page3.pdf cat output OUT.pdf
Reduce the size of the PDF
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
(source : http://www.mnt-tech.fr/blog/gnulinux/comment-reduire-la-taille-dun-fichier-pdf-en-ligne-de-commande-sous-linux/ )
lundi 26 avril 2010
OpenOffice / oocalc : protect specific cells
I've got a calc sheet for calculating some grades.
Hence, after setting all the formulas (you may want to have a look at the SUMPRODUCT(notes*percent) function ;-) ), I want to actually enter the grades I gave.
What I want to do is not to mess around with the cell containing formulas while I am entering data.
How to (un)-lock specific cells
- Select the cell you want to still modify.
- right-click: Format-Cells -> "Cell Protection" tab => uncheck "protected".
- Tools -> Protect Document -> sheet
- Uncheck "select locked cells" and check "select unlocked cells".
Now only the cells selected in step 1) should be the only ones you can select and modify !
vendredi 23 avril 2010
LaTeX et .bib (fichiers de bibliographie)
Le code LaTeX à utiliser
Dans l'entête :
% \usepackage{natbib} % pour changer l'affichage des citations
% \usepackage[fixlanguage]{babelbib} % biblio FR
% \selectbiblanguage{french} % biblio FR
Là où l'on souhaite intégrer la bibliographie
Dans le document (note que comme d'hab en LaTeX tu n'as pas besoin de
mettre l'exention du fichier, en l'occurence tu auras typiquement
"fichier.bib" à la place de "bibtexfile"
% \bibliographystyle{unsrt} % biblio style classique
% \bibliographystyle{babplain-lf} % Biblio FR
% \bibliography{bibtexfile} % Chemin vers la base de citations
Un peu de doc (entre autre) :
http://www.ctan.org/tex-archive/macros/latex/contrib/natbib/
Logiciels pour gérer la biblio
Il y en a de nombreux dont un en java qui marche pas trop mal mais dont le nom m'échappe.
J'utilise pybliographer / pybliographic , qui a le mérite de permettre l'édition native des .bib directement.
mercredi 24 mars 2010
Around an Arduino
tombé sur le stand de H:D (Hackable Devices) [1,2] , qui visent à
promouvoir
le hardware libre.
Entre un freerunner (sous openmoko), quelques autres kits de
développement de niveau plus ou moins bas, une petite plateforme avec
un chip, une vingtaine d'entrées-sorties, et une connectique USB ont
attiré mon attention en particulier.
Il s'agissait d'Arduino. Apparemment c'est une plateforme libre à base
d'ATMega328, je cite [2] :
"Arduino Duemilanove
Duemilanove ATMega328 serie
The Arduino Duemilanove ("2009") is a microcontroller board based on
the ATmega168 or ATmega328. It has 14 digital input/output pins (of
which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal
oscillator, a USB connection, a power jack, an ICSP header, and a
reset button."
En cherchant un peu plus sur le web on trouve en particulier des infos
sur comment installer les outils de développement [3].
Par contre, je cherche encore des infos sur comment réaliser les
circuits que l'on peut mettre en sortie (bon, ok, ça tape plus dans
l'électronique, mais il n'empêche). Par exemple si je veux y mettre un
moteur quelconque, une matrice de led, ou bien même, plus intéressant,
un interrupteur qui pourrait me permettre d'allumer l'alimentation
d'un disque dur externe. Ce ne sont que quelques idées qui pourraient
me permettre d'expérimenter avec cette plateforme, mais je ne sais pas
encore comment les réaliser. Toute information est donc la bienvenue.
Cherchant ce type d'informations, l'on vient de me conseiller d'aller
également voir du côté des adaptateurs USB-port parallèle, qui sont en
soit plus simple à programmer. Mais en fin de compte je trouve ça
moins marrant, et surtout ça ne règle aucunement le problème de
l'électronique à mettre derrière.
J'ai trouvé quelques projets utilisant des arduino sur hackaday [4].
Pour le prix, ça à l'air de tourner dans les 25 à 30 euros, donc assez
raisonnalble [2, 5, 6]
Références :
[1] http://hackable-devices.com/
[2]
http://hackable-devices.org/products/product/ArduinoDuemilanove-atmega328/
[3] http://www.arduino.cc/playground/Learning/Linux
[4] http://hackaday.com/page/2/?s=arduino
[5] http://microcontrollershop.com/product_info.php?products_id=2193
[6] http://www.lextronic.fr/P4133-platine-arduino-usb-board.html
lundi 22 février 2010
NetBSD & versions d'Unison
Les deux version ne sont pas compatibles.
En explorant les archives du CVS de pkgsrc (ici : http://cvsweb.se.netbsd.org/cgi-bin/bsdweb.cgi/pkgsrc/net/unison/?only_with_tag=pkgsrc-2009Q3
et là : http://pkgsrc.se/branch=pkgsrc-2009Q3/net/unison ) + quelques pointeurs sur freenode:#netbsd
Voici la suite de commandes que j'ai
pkg_delete unison-2.32.52
cd /opt/pkgsrc/net/unison
cvs up -rpkgsrc-2009Q3 -dP
/usr/bin/make reinstall
cd directory && cvs up -rpkgsrc-2009Q3 -dP
Et fantastiquement, cela fonctionne maintenant à merveille :-)
Bash scripts :
#!/bin/bash
- set -u : empèche d'utiliser des variables non définies préalablement => évite les erreurs
- set -x : affichage plus verbeux
- set -e : arrête l'exécution à la première erreur
Merci Julien S.
jeudi 11 février 2010
Tor et firefox (+polipo)
Il est conseillé d'utiliser Tor, avec le proxy "polipo", et "tor button" (addon firefox)
http://www.torproject.org/docs/tor-doc-unix.html.en#polipo
mardi 2 février 2010
svn properties svn:keywords
SVN Book : Properties (Chapter 7. Advanced Topics)
$ svn propset svn:keywords "Date Author" contrib.tex
property 'svn:keywords' set on 'contrib.tex'
$
Some vocabulary :
- scm = source code manager
- vcs = version control system
- dvcs = distributed version control system
Like for example : rcs, cvs, svn, mercurial, darcs, git, ...
wikipedia:List_of_revision_control_software