<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1416523199028622396</id><updated>2011-07-28T15:03:35.463+02:00</updated><category term='mex matlab'/><category term='nautilus-script'/><category term='Linux e open source'/><category term='programmazione'/><category term='ubuntu'/><category term='bash'/><category term='Ingegneria'/><category term='note'/><category term='Progetti'/><category term='latex'/><title type='text'>BleishBlog</title><subtitle type='html'>appunti e pensieri di un internauta</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-4850266975367162419</id><published>2010-04-28T15:01:00.001+02:00</published><updated>2010-07-11T00:50:26.424+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nautilus-script'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux e open source'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><title type='text'>Scan2pdf bash script</title><content type='html'>Tutti conoscono la semplicità di utilizzo dei nautilus-script. E' per questo che ho realizzato questo semplice script che permette in maniera semplice e veloce la conversione di documenti cartacei in formato elettronico pdf, facilmente archiviabile e rintracciabile.&lt;br /&gt;&lt;br /&gt;Vi sono molti utilities e programmi che svolgono lo stesso lavoro, primo fra tutti l'eccellente &lt;a href="http://gscan2pdf.sourceforge.net/" target="_blank"&gt;gscan2pdf&lt;cite&gt;&lt;/cite&gt;&lt;i&gt;&lt;cite&gt;&lt;/cite&gt;&lt;/i&gt;&lt;/a&gt;; a me serve però qualcosa di semplice e sbrigativo, nonchè affidabile e potente.&lt;br /&gt;&lt;pre&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# scan2pdf - ver 0.2&lt;br /&gt;# Questo script avvia lo scanner impostandolo con opzioni &lt;br /&gt;# comuni e produce in uscita un unico documento in formato &lt;br /&gt;# PDF che contiene le pagine scannerizzate&lt;br /&gt;# &lt;br /&gt;# 2010 - bleish.wordpress.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# $1="" se non è stato selezionato nessun file nella cartella &lt;br /&gt;# cliccata, allora la cartella di lavoro è quella cliccata &lt;br /&gt;# altrimenti prendiamo come cartella di lavoro quella &lt;br /&gt;# restituita proprio da $1&lt;br /&gt;if [[ "$1" != "" ]]&lt;br /&gt;then &lt;br /&gt;cd "$1"&lt;br /&gt;fi&amp;nbsp; &amp;nbsp;&lt;br /&gt;gnome-terminal --geometry=60x25 -x scanimage -p --mode Gray \&lt;br /&gt;--resolution 150 --compression JPEG --jpeg-quality 10 \&lt;br /&gt;--batch-scan=yes --batch='outscan%0.3d' &lt;br /&gt;PACK=out&lt;br /&gt;tmpdir=`pwd`&lt;br /&gt;[ -e "$PACK.pdf" ] &amp;amp;&amp;amp; PACK=`mktemp -u --tmpdir=$tmpdir out-XXX` &lt;br /&gt;convert outscan* $PACK.pdf &lt;br /&gt;rm outscan*&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;A questo punto basta installare lo script nella cartella ~/.gnome2/nautilus-scripts&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-4850266975367162419?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/4850266975367162419/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/04/scan2pdf-bash-script.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/4850266975367162419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/4850266975367162419'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/04/scan2pdf-bash-script.html' title='Scan2pdf bash script'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-1740991358057974501</id><published>2010-02-10T15:54:00.001+01:00</published><updated>2010-07-11T00:49:46.185+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='Progetti'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux e open source'/><category scheme='http://www.blogger.com/atom/ns#' term='Ingegneria'/><category scheme='http://www.blogger.com/atom/ns#' term='mex matlab'/><title type='text'>Scrivere librerie MEX in C/C++</title><content type='html'>Gli elementi principali di un file mex in Matlab, scritto in linguaggio C/C++, sono principalmente quattro&lt;br /&gt;&lt;ol&gt;&lt;li&gt;l'header mex.h&lt;/li&gt;&lt;li&gt;il gateway mexFunction&lt;/li&gt;&lt;li&gt;Gli array mxArray&lt;/li&gt;&lt;li&gt;Le API function&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;mex.h&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#include mex.h&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ogni mex-file scritto in C/C++ deve avere una direttiva di inclusione del header mex.h, in modo da poter utilizzare le API nella forma delle routines mx*&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Il gateway mexFunction&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;mexFunction(int nlhs, mxArray *plhs[ ], int nrhs,&lt;br /&gt;const mxArray *prhs[ ])&lt;br /&gt;{&lt;br /&gt;...&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;La routine di gateway tra il file mex e Matlab è chiamata mexFunction e, sostanzialmente, costituisce il "main" della libreria che andiamo ad implementare.&lt;br /&gt;&lt;br /&gt;Tale routine, dichiarata il cui prototipo è dichiarato in mex.h, presenta i seguenti elementi:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;nlhs è il numero di mxArray in uscita (lhs - left hand side)&lt;/li&gt;&lt;li&gt;plhs è un array di puntatori agli mxArray delle uscite attese&lt;/li&gt;&lt;li&gt;nrhs è il numero di ingressi (rhs - right hand side)&lt;/li&gt;&lt;li&gt;prhs è l'array di puntatori agli mxArray dei dati di ingresso, che sono read-only (const)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Si noti che il suffisso dei nomi di queste variabili si riferisce alla loro usuale posizione in una chiamata di funzione nell'ambiente Matlab. All'avvio dell'esecuzione del codice contenuto nel mex-file, i puntatori in plhs sono indefiniti, in quanto è compito del programma definirli esplicitamente (il compilatore non si occuperà di controllare se ciò avvenga).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mxArray&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Si tratta di una struttura dati che gestisce i dati del programma e costituisce la rappresentazione in C dei vettori/matrici/string/cell di Matlab&lt;br /&gt;&lt;br /&gt;Un mxArray viene dichiarato come una qualsiasi variabile&lt;br /&gt;&lt;code&gt;mxArray *myarray; &lt;/code&gt;&lt;br /&gt;ma occorre che esso sia inizializzato con una mx* routine prima di essere usato (ad esempio, mxCreateNumericArray). Si noti che i dati in un mxArray vengono letti/scritti secondo il tipico ordine di Matlab, ovvero in colonna e verso destra, a differenza del C/C++ che li legge in riga e verso il basso.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Le API functions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Le API function prevedono, tra l'altro, le funzionalità per il trasferimento dei dati tra i mex-file e Matlab, la possibilità di richiamare funzioni Matlab dal codice sorgente in C/C++ e l'accesso ai dati contenute in un mxArray. Quelle più usate sono relative alla:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;creazione di array&lt;/i&gt; (mxCreateNumericArray, mxCreateCellArray, mxCreateCharArray);&lt;/li&gt;&lt;li&gt;&lt;i&gt;accesso agli array &lt;/i&gt;(mxGetPr, mxGetPi, mxGetM, mxGetM, mxGetData, mxGetCell)&lt;/li&gt;&lt;li&gt;&lt;i&gt;modifiche agli array&lt;/i&gt; (mxSetPr, mxSetPi, mxSetData, mxSetField)&lt;/li&gt;&lt;li&gt;&lt;i&gt;controllo di un array&lt;/i&gt; (mxIsClass)&lt;/li&gt;&lt;li&gt;&lt;i&gt;gestione della memoria&lt;/i&gt; (mxMalloc, mxCalloc, mxFree, mexMakeMemoryPersistent, mexAtExit,  mxDestroyArray,                          memcpy)&lt;/li&gt;&lt;li&gt;&lt;i&gt;altro &lt;/i&gt;(mexEvalString, mexCallMATLAB,&amp;nbsp;mexPrintf, mexWarnMsgTxt )&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Una descrizione completa è reperibile in &lt;a href="http://www.mathworks.com/access/helpdesk/help/techdoc/apiref/bqoqnz0.html" target="_blank"&gt;MATLAB                   External/API Reference Guide&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Di seguito presentiamo un esempio di un mex-file che creare un mxArray per contenere i dati in uscita&lt;br /&gt;&lt;pre&gt;#include "mex.h"&lt;br /&gt;void mexFunction(int nlhs, mxArray *plhs[],&lt;br /&gt;int nrhs, const mxArray *prhs[])&lt;br /&gt;{&lt;br /&gt;int i, j, m, n;&lt;br /&gt;double *data1, *data2;&lt;br /&gt;&lt;br /&gt;if (nrhs != nlhs)&lt;br /&gt;mexErrMsgTxt("The number of input and output arguments must be the same.");&lt;br /&gt;&lt;br /&gt;for (i = 0; i &amp;lt; nrhs; i++)&lt;br /&gt;{&lt;br /&gt;/* Find the dimensions of the data */&lt;br /&gt;m = mxGetM(prhs[i]);&lt;br /&gt;n = mxGetN(prhs[i]);&lt;br /&gt;&lt;br /&gt;/* Create an mxArray for the output data */&lt;br /&gt;plhs[i] = mxCreateDoubleMatrix(m, n, mxREAL);&lt;br /&gt;&lt;br /&gt;/* Retrieve the input data */&lt;br /&gt;data1 = mxGetPr(prhs[i]);&lt;br /&gt;&lt;br /&gt;/* Create a pointer to the output data */&lt;br /&gt;data2 = mxGetPr(plhs[i]);&lt;br /&gt;&lt;br /&gt;/* Put data in the output array */&lt;br /&gt;for (j = 0; j &amp;lt; m*n; j++)&lt;br /&gt;{&lt;br /&gt;data2[j] = 2 * data1[j];&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Altri esempi sono reperibili &lt;a href="http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f12977.html" target="_blank"&gt;qui&lt;/a&gt;.&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-1740991358057974501?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/1740991358057974501/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/02/scrivere-librerie-mex-in-cc.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/1740991358057974501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/1740991358057974501'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/02/scrivere-librerie-mex-in-cc.html' title='Scrivere librerie MEX in C/C++'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-4759954136448506895</id><published>2010-02-10T15:42:00.003+01:00</published><updated>2010-08-05T20:24:24.501+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='Progetti'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux e open source'/><category scheme='http://www.blogger.com/atom/ns#' term='Ingegneria'/><category scheme='http://www.blogger.com/atom/ns#' term='mex matlab'/><title type='text'>Librerie mex in matlab per windows con compilatore gnu</title><content type='html'>In Matlab, i file MEX (matlab executable) permettono l'esecuzione di propri codici in C/C++ o Fortran direttamente dall'ambiente Matlab come se fossero delle funzioni o routines built-in. I principali vantaggi sono essenzialmente due: la possibilità di utilizzare codice scritto in C/C++ o Fortran senza il bisogno di riscriverlo come script m-file; inoltre, una maggiore efficienza di tale codice (soprattutto nei cicli for) riguardo i tempi di esecuzione.&lt;br /&gt;&lt;br /&gt;L'inizializzazione del sistema di compilazione avviene eseguendo&lt;br /&gt;&lt;code&gt;mex -setup&lt;/code&gt;&lt;br /&gt;dal prompt di Matlab.&lt;br /&gt;In ambiente Windows, sono supportati una varietà di compilatori, come quelli Borland e Microsoft; tuttavia, in questa sede ci interessa configurare il sistema per l'utilizzo di strumenti GNU e/o open-source, che nativamente non sono presenti nel sistema. Possiamo optare per &lt;a href="http://www.mingw.org/"&gt;MinGW&lt;/a&gt; oppure per &lt;a href="http://www.cygwin.com/"&gt;CygWin&lt;/a&gt;; noi abbiamo preferito il primo.&lt;br /&gt;Una volta installato il compilatore con tutte le librerie, verificato che le variabili di ambiente sono correttamente configurate, passiamo alla configurazione del sitema mex tramite la comoda utility &lt;a href="https://sourceforge.net/projects/gnumex"&gt;gnumex&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3aLOEBA4Rk0/TFsBygabOHI/AAAAAAAAABk/4WGpmlglC8I/s1600/gnumex1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/_3aLOEBA4Rk0/TFsBygabOHI/AAAAAAAAABk/4WGpmlglC8I/s640/gnumex1.jpg" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tale utility va a creare lo script mexopts.bat che viene richiamato per ogni compilazione, invocando, con i giusti parametri, il compilatore gcc.&lt;br /&gt;Se tutto è andato a buon fine, dovrebbe essere possibile eseguire la compilazione di un codice di esempio fornito con Matlab:&lt;br /&gt;&lt;code&gt;mex yprime.c &lt;/code&gt;&lt;br /&gt;Le funzioni implementate nella nuova libreria yprime.dll, generata dalla compilazione del codice C, possono essere invocate come le usuali funzioni di Matlab:&lt;br /&gt;&lt;code&gt;yprime(1,1:4)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ans=&lt;br /&gt;2.0000&lt;br /&gt;8.9685&lt;br /&gt;4.0000&lt;br /&gt;-1.0947&lt;br /&gt;&lt;br /&gt;Ulteriori informazioni:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mathworks.com/support/tech-notes/1600/1605.html#ingredients"&gt;MEX-file guide&lt;/a&gt; dal sito mathworks.com&lt;/li&gt;&lt;li&gt;&lt;a href="http://gnumex.sourceforge.net/"&gt;Gnumex, Mex-file with mingw&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-4759954136448506895?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/4759954136448506895/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/02/librerie-mex-in-matlab-per-windows-con.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/4759954136448506895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/4759954136448506895'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/02/librerie-mex-in-matlab-per-windows-con.html' title='Librerie mex in matlab per windows con compilatore gnu'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3aLOEBA4Rk0/TFsBygabOHI/AAAAAAAAABk/4WGpmlglC8I/s72-c/gnumex1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-4211609926971956735</id><published>2010-02-04T20:10:00.002+01:00</published><updated>2010-08-05T20:23:45.906+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nautilus-script'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux e open source'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Cornice sfumata con Nautilus-script</title><content type='html'>Il seguente script modifica una immagine selezionata  per produrne un'altra con una cornice sfumata trasparente di pochi pixel.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;# Questo Script modifica l'immagine in ingresso, aggiungendo una cornice sfumata&lt;br /&gt;# dipendenze: imagemagick, bc&lt;br /&gt;#&lt;br /&gt;# 2010 - ver 0.1 - bleish.wordpress.com&lt;br /&gt;PERCORSO=`pwd`&lt;br /&gt;[ -n "$PERCORSO" ] &amp;amp;&amp;amp; cd "$PERCORSO"&lt;br /&gt;if [ $# -eq 0 ]; then&lt;br /&gt;zenity --title="PDFJoin" --error --title="Attenzione"\&lt;br /&gt;--text="Seleziona un file."&lt;br /&gt;exit 1&lt;br /&gt;fi&lt;br /&gt;h=`identify -format '%h' "$1"`&lt;br /&gt;w=`identify -format '%w' "$1"`&lt;br /&gt;h1=`echo $h-5 | bc`&lt;br /&gt;w1=`echo $w-5 | bc`&lt;br /&gt;stringa="rectangle 5,5 $w1,$h1"&lt;br /&gt;TEMPFILE=`tempfile`&lt;br /&gt;MASK=`tempfile`&lt;br /&gt;convert "$1" "$TEMPFILE.png"&lt;br /&gt;convert -size ${w}x${h} xc: -draw "$stringa" -blur 30x3 -negate "$MASK.png"&lt;br /&gt;convert "$TEMPFILE.png" "$MASK.png" +matte -compose CopyOpacity -composite "c$1.png"&lt;br /&gt;rm -f "$MASK.png"&lt;br /&gt;rm -f "$TEMPFILE.png"&lt;br /&gt;rm -f "$TEMPFILE"&lt;br /&gt;rm -f "$MASK"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;E' utile inserire lo script tra i nautilus-script in ~/.gnome2/nautilus-scripts&lt;br /&gt;Nelle immagini di seguito rappresentate si può vedere il risultato dell'esecuzione dello script. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_3aLOEBA4Rk0/TFsBIZBdB8I/AAAAAAAAABU/JAdGn42bY8Y/s1600/frattale01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_3aLOEBA4Rk0/TFsBIZBdB8I/AAAAAAAAABU/JAdGn42bY8Y/s320/frattale01.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_3aLOEBA4Rk0/TFsBpcLeusI/AAAAAAAAABc/Oofwgs2OVqk/s1600/cfrattale01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_3aLOEBA4Rk0/TFsBpcLeusI/AAAAAAAAABc/Oofwgs2OVqk/s320/cfrattale01.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-4211609926971956735?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/4211609926971956735/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/02/cornice-sfumata-con-nautilus-script.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/4211609926971956735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/4211609926971956735'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/02/cornice-sfumata-con-nautilus-script.html' title='Cornice sfumata con Nautilus-script'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3aLOEBA4Rk0/TFsBIZBdB8I/AAAAAAAAABU/JAdGn42bY8Y/s72-c/frattale01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-3104801037599220013</id><published>2010-02-04T19:44:00.003+01:00</published><updated>2010-08-05T20:27:50.135+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux e open source'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>gnome-screenshot e istantanee parziali del desktop</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_3aLOEBA4Rk0/TFsCk2dm9_I/AAAAAAAAABs/flZbavAYzx4/s1600/cgnome-screenshot1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://3.bp.blogspot.com/_3aLOEBA4Rk0/TFsCk2dm9_I/AAAAAAAAABs/flZbavAYzx4/s400/cgnome-screenshot1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;gnome-screenshot è utile per catturare una istantanea dello schermo. Sui sistemi linux (e ubuntu :-P) sono configurate di default le possibilità di catturare una schermata dell'intero schermo  oppure di una finestra attiva, utilizzando la combinazione id tasti Stamp e Alt+Stamp. Tale opportunità si presenta anche da consolle, con i comandi, rispettivamente:&lt;br /&gt;&lt;code&gt;gnome-screenshot&lt;/code&gt;&lt;br /&gt;oppure&lt;br /&gt;&lt;code&gt;gnome-screenshot -w&lt;/code&gt;&lt;br /&gt;Oltre a queste opzione, sono interessanti anche l'uso del ritardo di cattura (--delay=SECONDS), la possibilità di aggiungere effetti come bordi od ombre (--effect=border, --effect=shadow) e, infine, la possibilità di visualizzare una comoda GUI per indicare queste ed altre opzioni prima di effettuare l'istantanea.&lt;br /&gt;Tuttavia, l'opzione più interessante è quella di poter indicare la regione del desktop da catturare, in modo da evitare fastidiosi ritagli e fotoritocchi successivi alla cattura:&lt;br /&gt;&lt;code&gt;gnome-screenshot -a&lt;/code&gt;&lt;br /&gt;Questo può essere un comando personalizzato da inserire tra le scorciatoie da tastiera, magari associate alla pressione della combinazione dei tasti Ctrl+Stamp. Vedi la figura in alto per maggiori dettagli.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-3104801037599220013?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/3104801037599220013/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/02/gnome-screenshot-e-istantanee-parziali.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/3104801037599220013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/3104801037599220013'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/02/gnome-screenshot-e-istantanee-parziali.html' title='gnome-screenshot e istantanee parziali del desktop'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3aLOEBA4Rk0/TFsCk2dm9_I/AAAAAAAAABs/flZbavAYzx4/s72-c/cgnome-screenshot1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-1911718512651032828</id><published>2010-01-26T18:58:00.004+01:00</published><updated>2010-08-05T20:26:51.002+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux e open source'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Aggiornare ora e data del sistema con ntpdate</title><content type='html'>E' da un po' di tempo che ho un fastidioso problema con il mio pc ubuntu. A quanto pare si è scaricata la batteria che alimenta la logica cmos della scheda madre, in quanto, quando spengo il computer e tolgo l'alimentazione, al riavvio trovo sempre l'orologio di sistema in ritardo.&lt;br /&gt;&lt;br /&gt;A parte cambiare la batteria (e forse sarebbe meglio cambiare il computer ;-) ) si può ovviare con un comando eseguito all'avvio che sfrutta il protocollo NTP per sincronizzare l'ora e la data attraverso la rete:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sudo ntpdate it.pool.ntp.org&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Questo comando, ovviamente, risulta poco indicato nel caso di computer desktop, ma risulta interessante nel caso dei server, in quanto permette di mantenere coerenti i log di sistema.&lt;br /&gt;&lt;br /&gt;Link utili:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Sul protocollo  &lt;a href="http://it.wikipedia.org/wiki/Network_Time_Protocol" target="_parent"&gt;NTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;a href="http://help.ubuntu-it.org/9.10/ubuntu/serverguide/it/NTP.html" target="_parent"&gt;Sull'uso del protocollo NTP in Ubuntu&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&lt;a href="http://www.inrim.it/ntp/webclock_i.shtml" target="_parent"&gt;Tempo campione italiano&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-1911718512651032828?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/1911718512651032828/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/01/aggiornare-ora-e-data-del-sistema-con.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/1911718512651032828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/1911718512651032828'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/01/aggiornare-ora-e-data-del-sistema-con.html' title='Aggiornare ora e data del sistema con ntpdate'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-2956919249531360654</id><published>2010-01-26T15:47:00.004+01:00</published><updated>2010-08-03T20:44:10.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='note'/><title type='text'>Prove di scrittura con latex e formule matematiche</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Blogger risulta molto versatile. Infatti, grazie al servizio offerto da &lt;a href='http://watchmath.com/vlog/?p=438'&gt;watchmath &lt;/a&gt;è possible fornire al proprio sito ospitato su server blogspot anche la possibilità del rendering di formule matematiche con latex.&lt;br/&gt;Ad esempio, la formula matematica &lt;latex&gt;\[\sum_1 ^2 {x dx}\]&lt;/latex&gt;&lt;br/&gt;è resa con il codice&lt;br/&gt;&lt;div style='font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;'&gt;\[\sum_1 ^2 {x dx}\] &lt;/div&gt;&lt;br/&gt;Oppure &lt;br/&gt;&lt;latex&gt;\[\frac{1}{2} \cdot sin(x^2 +\phi) +\sqrt{\alpha^2+\beta_1^3} \]&lt;/latex&gt;&lt;br/&gt;con il codice &lt;br/&gt;&lt;div style='font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;'&gt;\[\frac{1}{2} \cdot sin(x^2 +\phi) +\sqrt{\alpha^2+\beta_1^3 }\] &lt;/div&gt;&lt;br/&gt;&lt;br/&gt;E' possibile anche avere formule inline come &lt;latex&gt;$ \int_1^3( x+x^2-\alpha) dx $ &lt;/latex&gt; oppure &lt;latex&gt;$$ \int_1^3 (x+x^2-\alpha)dx $$&lt;/latex&gt; rispettivamente con i codici&lt;br/&gt;&lt;span style='font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;'&gt;$ \int_1^3 (x+x^2-\alpha) dx $&lt;/span&gt;&lt;br/&gt;e&lt;br/&gt;&lt;span style='font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;'&gt;$$ \int_1^3 (x+x^2-\alpha) dx $$&lt;/span&gt;&lt;latex/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-2956919249531360654?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/2956919249531360654/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/01/prove-di-scrittura.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/2956919249531360654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/2956919249531360654'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/01/prove-di-scrittura.html' title='Prove di scrittura con latex e formule matematiche'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1416523199028622396.post-1283122174756270816</id><published>2010-01-25T16:12:00.000+01:00</published><updated>2010-07-11T00:24:38.729+02:00</updated><title type='text'>Hello world!</title><content type='html'>Finalmente mi sono deciso. Finalmente. Spero sia un utile strumento per crescere professionalmente e personalmente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1416523199028622396-1283122174756270816?l=bleish.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bleish.blogspot.com/feeds/1283122174756270816/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://bleish.blogspot.com/2010/01/hello-world.html#comment-form' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/1283122174756270816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1416523199028622396/posts/default/1283122174756270816'/><link rel='alternate' type='text/html' href='http://bleish.blogspot.com/2010/01/hello-world.html' title='Hello world!'/><author><name>bleish</name><uri>http://www.blogger.com/profile/17969392282691907575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
