<?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-4120451589748876420</id><updated>2012-01-21T12:23:25.172+01:00</updated><category term='linux'/><category term='Ip'/><category term='javascript'/><category term='java'/><category term='web'/><category term='php'/><category term='vmware'/><category term='università'/><category term='robots'/><category term='aggiornamento'/><category term='icewm'/><category term='dvd'/><category term='endian'/><category term='pdf'/><category term='gnome'/><category term='freenas'/><category term='c#'/><category term='firefox'/><category term='jquery'/><category term='multiboot'/><category term='editor'/><category term='phishing'/><category term='boiate'/><category term='android'/><category term='bcompiler'/><category term='captcha'/><category term='navigatore'/><category term='shell'/><category term='videosorveglianza'/><category term='tips'/><category term='dusttheme'/><category term='giochi'/><category term='script'/><category term='video'/><category term='mondo'/><category term='gimp'/><category term='samba'/><category term='live usb'/><category term='freebsd'/><category term='firewall'/><category term='sicurezza'/><category term='ubuntu'/><category term='webapp'/><category term='easter eggs'/><title type='text'>Il Blog di Stefano</title><subtitle type='html'>Php, C#, Ubuntu Linux e tanto altro :-)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default?start-index=101&amp;max-results=100'/><author><name>Stefano Bianchini</name><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>101</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1764932901275994613</id><published>2012-01-21T12:23:00.000+01:00</published><updated>2012-01-21T12:23:25.181+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='webapp'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Programmazione Android: I menù - Costruire una web application (terza parte)</title><content type='html'>Una piccola premessa: smartphone e tablet gestiscono i menù che vedremo in modo differente. Mentre i tablet mostrano i pulsanti del menù nella barra di titolo (TitleBar, &lt;a href="http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una_17.html" target="_blank"&gt;quella eliminata dal tema FullScreen nel post precedente&lt;/a&gt;), gli smartphone esigono la pressione di un determinato tasto del telefono per mostrare a video il menù (per ovvie ragioni di spazio). Ovviamente se vogliamo mostrare su un tablet il menù, dovremo eliminare l'impostazione del tema "Fullscreen".&lt;br /&gt;Ricordando i post precedenti, Android sfrutta perfettamente il modello MVC: la prima cosa da fare, quindi, è creare il layout del nostro menù personalizzato. Per fare ciò, per prima cosa bisogna creare una cartella "&lt;i&gt;menu&lt;/i&gt;" sottocartella di "&lt;i&gt;res&lt;/i&gt;". Selezionare la cartella appena creata e premere "Ctrl + N" oppure fare click con il pulsante destro e scegliere &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;New-&amp;gt;Other&lt;/span&gt;. Scegliere a questo punto &lt;i&gt;Android XML File&lt;/i&gt; e cliccare su &lt;i&gt;Next&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-44jpzKjivFA/TxqaB25z98I/AAAAAAAAAV0/miUZpoiXdSo/s1600/android6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-44jpzKjivFA/TxqaB25z98I/AAAAAAAAAV0/miUZpoiXdSo/s320/android6.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Nella schermata successiva dare un nome al file, ad esempio &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;menubar.xml&lt;/span&gt; e fare click su "&lt;i&gt;Finish&lt;/i&gt;". Eclipse a questo punto apre automaticamente l'editor per l'xml appena creato, riconoscendo che andrà a specificare la struttura di un menù. Basterà cliccare su "Add" e poi scegliere "Item" per aggiungere un elemento al menù. Ovviamente bisogna specificare:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Id: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;@+id/item_exit&lt;/span&gt;&lt;br /&gt;Tutti gli id iniziano per &lt;i&gt;@+id/&lt;/i&gt; e sono seguiti dal nome identificativo, in questo caso &lt;i&gt;item_exit&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Title e Title Condensed: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Esci&lt;/span&gt;&lt;br /&gt;Sono il titolo e il titolo breve del menù, in questo caso "&lt;i&gt;Esci&lt;/i&gt;"&lt;/li&gt;&lt;li&gt;Icon: &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;@drawable/ic_exit&lt;/span&gt;&lt;br /&gt;L'icona associata al bottone. Android cercherà l'icona ic_exit.png sotto le cartelle res/drawable-*&lt;/li&gt;&lt;/ul&gt;Per il momento basta questa semplice configurazione. Ovviamente si dovrà spiegare ad Android quando e soprattutto in quale attività (Activity) questo menù dovrà essere mostrato. Per fare ciò, apriamo il file sorgente dell'attività principale (&lt;a href="http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una.html" target="_blank"&gt;per chi non si ricordasse il primo post sull'argomento&lt;/a&gt;, il nome è &lt;i&gt;webappActivity.java&lt;/i&gt;) e aggiungiamo questa funzione:&lt;br /&gt;&lt;pre class="java" name="code"&gt;@Override&lt;br /&gt; public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;     MenuInflater inflater = getMenuInflater();&lt;br /&gt;     inflater.inflate(R.menu.menubar, menu);&lt;br /&gt;     return true;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;Il codice crea un menù sulla base del file xml specificato (&lt;i&gt;menubar&lt;/i&gt;, sotto la cartella &lt;i&gt;menu&lt;/i&gt;). Adesso bisogna associare un determinato comportamento alla pressione dei vari bottoni del menù creato. Anche qui, un semplice override con un codice che discrimina l'id del pulsante premuto:&lt;br /&gt;&lt;pre class="java" name="code"&gt;@Override&lt;br /&gt; public boolean onOptionsItemSelected(MenuItem item) {&lt;br /&gt;     switch (item.getItemId()) {&lt;br /&gt;         case R.id.item_exit:&lt;br /&gt;          finish();&lt;br /&gt;             return true;&lt;br /&gt;         default:&lt;br /&gt;             return super.onOptionsItemSelected(item);&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;La funzione &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;finish()&lt;/span&gt; chiede ad Android di "terminare" l'attività corrente; se quest'ultima è quella principale, il sistema tornerà al menù principale (la home). In realtà, Android ha una gestione dei processi e della loro terminazione tutta sua, quindi anche se l'applicazione non viene mostrata a schermo, può essere che sia ancora in memoria.&lt;br /&gt;Ed ora il risultato finale:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QJ-_KEkhAkk/Txqfb6SGKOI/AAAAAAAAAV8/2vApBevbK3g/s1600/android7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://1.bp.blogspot.com/-QJ-_KEkhAkk/Txqfb6SGKOI/AAAAAAAAAV8/2vApBevbK3g/s320/android7.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Questo è un esempio con un solo bottone nel menù; ovviamente basta ripetere le semplici operazioni precedenti per aggiungerne ad oltranza. Con una piccola restrizione: Android non mostra più di 6 bottoni. Tutti quelli che oltrepassano questa soglia vengono raccolti un un bottone magico "Altro".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1764932901275994613?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1764932901275994613/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1764932901275994613' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1764932901275994613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1764932901275994613'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2012/01/programmazione-android-i-menu-costruire.html' title='Programmazione Android: I menù - Costruire una web application (terza parte)'/><author><name>Stefano Bianchini</name><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/-44jpzKjivFA/TxqaB25z98I/AAAAAAAAAV0/miUZpoiXdSo/s72-c/android6.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7478482317115606178</id><published>2012-01-17T11:41:00.001+01:00</published><updated>2012-01-17T11:42:48.763+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='webapp'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Programmazione Android: Costruire una web application (seconda parte) - jQuery Mobile</title><content type='html'>In questa seconda parte incontriamo &lt;a href="http://jquerymobile.com/" target="_blank"&gt;jQuery Mobile&lt;/a&gt;, una versione del famoso framework appositamente creata per gestire e mostrare contenuti per dispositivi quali smartphone e tablet. E' possibile analizzarne il comportamento &lt;a href="http://code.jquery.com/mobile/latest/demos/" target="_blank"&gt;accedendo alla demo disponibile&lt;/a&gt;, che mostra tutti i componenti utili per realizzare una splendida web application. Ovviamente la cosa più semplice è scaricare l'intero framework, caricarlo sul sito che farà da base per l'applicazione web, studiarsi il sorgente html + javascript della demo e modificarlo a piacimento; vediamo però a grandi linee quale sia la struttura:&lt;br /&gt;&lt;b&gt;Header&lt;/b&gt;&lt;br /&gt;&lt;pre class="html" name="code"&gt;&amp;lt;!DOCTYPE html&amp;gt; &lt;br /&gt;&amp;lt;html&amp;gt; &lt;br /&gt; &amp;lt;head&amp;gt; &lt;br /&gt; &amp;lt;title&amp;gt;My Page&amp;lt;/title&amp;gt; &lt;br /&gt; &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1"&amp;gt; &lt;br /&gt; &amp;lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /&amp;gt;&lt;br /&gt; &amp;lt;script src="http://code.jquery.com/jquery-1.6.4.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt; &amp;lt;script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt; &lt;br /&gt;&lt;/pre&gt;Fino a qui niente di particolare: in sostanza il caricamento delle librerie necessarie al funzionamento di jQuery Mobile. Da notare però la parola chiave "viewport" all'interno di un meta tag, fondamentale per l'impostazione delle dimensioni dello schermo per il risultato finale html.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Body&lt;/b&gt;&lt;br /&gt;&lt;pre class="html" name="code"&gt;&amp;lt;body&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;div data-role="page"&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div data-role="header"&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;My Title&amp;lt;/h1&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&amp;lt;!-- /header --&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div data-role="content"&amp;gt; &lt;br /&gt;  &amp;lt;p&amp;gt;Hello world&amp;lt;/p&amp;gt;  &lt;br /&gt; &amp;lt;/div&amp;gt;&amp;lt;!-- /content --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&amp;lt;!-- /page --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;Da questa parte di codice si comprende come una pagina sia indicata come una div con attributo "data-role" impostato su "page". La barra di navigazione in alto a sua volta avrà ruolo "header", mentre il contenuto vero e proprio della pagina avrà ruolo "content". &lt;br /&gt;&lt;br /&gt;L'idea di base è quella di mostrare un sito (o una sezione di sito) appositamente sviluppato con jQuery Mobile all'interno dell'applicazione Android; all'utente sarà quindi invisibile se questa parte sia sviluppata con il framework Android o con il più immediato e graficamente appagante html, css e javascript. Ovviamente, riprendendo &lt;a href="http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una.html" target="_blank"&gt;il codice del post precedente&lt;/a&gt;, è sufficiente modificare la pagina alla quale l'oggetto webView si deve connettere:&lt;br /&gt;&lt;pre class="java" name="code"&gt;webView1.loadUrl("http://code.jquery.com/mobile/latest/demos/");&lt;br /&gt;&lt;/pre&gt;Ho chiaramente usato l'url del demo per semplicità; andrà sostituito con la parte del sito mobile che avrete destinato ad Android (ad esempio, www.example.com/android).&lt;br /&gt;Per terminare questa parte, mostro un piccolo accorgimento grafico: se si prova ad eseguire &lt;a href="http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una.html" target="_blank"&gt;l'applicazione android creata in precedenza&lt;/a&gt; si nota una fastidiosa barra in alto, con il nome dell'applicazione. Questa barra può essere migliorata graficamente (e lo mostrerò nei post successivi) oppure, più facilmente, può essere nascosta. Per fare quest'ultima operazione è sufficiente aprire il file manifest AndroidManifest.xml e creare, all'interno del tag activity principale, l'attributo "android:theme", impostandolo ad un determinato valore. Vediamo il risultato: &lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;  &lt;br /&gt;&amp;lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"  &lt;br /&gt;    package="net.stefanobianchini.webapp"  &lt;br /&gt;    android:versionCode="1"  &lt;br /&gt;    android:versionName="1.0" &amp;gt;  &lt;br /&gt;  &lt;br /&gt;    &amp;lt;uses-sdk android:minSdkVersion="10" /&amp;gt;  &lt;br /&gt;    &amp;lt;uses-permission android:name="android.permission.INTERNET"/&amp;gt;  &lt;br /&gt;    &amp;lt;application  &lt;br /&gt;        android:icon="@drawable/ic_webapp"  &lt;br /&gt;        android:label="@string/app_name" &amp;gt;  &lt;br /&gt;        &amp;lt;activity  &lt;br /&gt;            android:name=".webappActivity"  &lt;br /&gt;            android:label="@string/app_name" &lt;br /&gt;            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"&amp;gt;  &lt;br /&gt;            &amp;lt;intent-filter&amp;gt;  &lt;br /&gt;                &amp;lt;action android:name="android.intent.action.MAIN" /&amp;gt;  &lt;br /&gt;  &lt;br /&gt;                &amp;lt;category android:name="android.intent.category.LAUNCHER" /&amp;gt;  &lt;br /&gt;            &amp;lt;/intent-filter&amp;gt;  &lt;br /&gt;        &amp;lt;/activity&amp;gt;  &lt;br /&gt;    &amp;lt;/application&amp;gt;  &lt;br /&gt;  &lt;br /&gt;&amp;lt;/manifest&amp;gt;&lt;br /&gt;&lt;/pre&gt;Questa direttiva chiederà ad Android di mostrare l'applicazione a tutto schermo, senza la fastidiosa TitleBar. In figura il risultato finale, visualizzato dentro l'emulatore:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iHbpYrSgpgg/TxVQFz7W6BI/AAAAAAAAAVs/lGXReu7_qWk/s1600/android4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://2.bp.blogspot.com/-iHbpYrSgpgg/TxVQFz7W6BI/AAAAAAAAAVs/lGXReu7_qWk/s320/android4.png" width="320" /&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/4120451589748876420-7478482317115606178?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7478482317115606178/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7478482317115606178' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7478482317115606178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7478482317115606178'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una_17.html' title='Programmazione Android: Costruire una web application (seconda parte) - jQuery Mobile'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/-iHbpYrSgpgg/TxVQFz7W6BI/AAAAAAAAAVs/lGXReu7_qWk/s72-c/android4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5424925069845288285</id><published>2012-01-16T14:02:00.003+01:00</published><updated>2012-01-17T11:42:23.763+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='webapp'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Programmazione Android: Costruire una web application (prima parte)</title><content type='html'>Grazie al regalo di Natale di mia moglie (un tablet Acer Iconia Tab A500), ultimamente mi sono interessato alla programmazione di applicazioni Android. questo è il primo di una serie di post in cui affronterò l'ambiente android ed in particolare lo sviluppo di applicazioni Web per android, un misto tra applicazioni android ed applicazioni Web. Tralascio volutamente tutta la parte relativa alla preparazione dell'ambiente di sviluppo, &lt;a href="http://developer.android.com/sdk/installing.html" target="_blank"&gt;ampiamente disponibile via web&lt;/a&gt;; l'unica cosa a cui accenno è che è necessario fornirsi di:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eclipse (&lt;a href="http://www.eclipse.org/downloads/"&gt;http://www.eclipse.org/downloads/&lt;/a&gt;) con &lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank"&gt;Java SDK&lt;/a&gt; (ultima versione disponibile)&lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.android.com/sdk/index.html" target="_blank"&gt;Android SDK&lt;/a&gt;&lt;/li&gt;&lt;li&gt;il &lt;a href="http://developer.android.com/sdk/eclipse-adt.html#installing" target="_blank"&gt;plugin ADT&lt;/a&gt; per Eclipse&lt;/li&gt;&lt;li&gt;fatto questo, creare un dispositivo virtuale sfruttando &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;Android Virtual Device Manager&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dSlyVIBGPzM/TxQD7Mg67xI/AAAAAAAAAVc/tYeRHUfThaU/s1600/android2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="170" src="http://2.bp.blogspot.com/-dSlyVIBGPzM/TxQD7Mg67xI/AAAAAAAAAVc/tYeRHUfThaU/s320/android2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Preparato l'ambiente, Eclipse è ora in grado di gestire al meglio i progetti Android. Per iniziare un nuovo progetto, &lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;File -&amp;gt;New-&amp;gt;Project&lt;/span&gt;&lt;/span&gt; e selezioniamo &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;Android Project&lt;/span&gt;.&lt;br /&gt;Quindi diamo un nome al progetto (ad esempio, &lt;i&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;webapp&lt;/span&gt;&lt;/i&gt;) e selezioniamo la versione dell'sdk di riferimento. I tablet in commercio attualmente sono equipaggiati della versione 3.2 (Honeycomb), ma molti telefoni hanno ancora la versione 2.3, ragion per cui io scelgo di sviluppare con una versione meno recente, come si vede in figura.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-fpkHI91L5LQ/TxQCcORyc_I/AAAAAAAAAVU/C2vXnDW-Eoc/s1600/android1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="258" src="http://1.bp.blogspot.com/-fpkHI91L5LQ/TxQCcORyc_I/AAAAAAAAAVU/C2vXnDW-Eoc/s320/android1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Successivamente verrà chiesto il package, è norma utilizzare tre parole separate dal punto ".", ad esempio &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;net.stefanobianchini.applicazioneweb&lt;/span&gt;. Lo scheletro del progetto è quindi pronto.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;L'icona&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Una applicazione che si rispetti ha bisogno di un'icona giusta. Cercate un'icona 72x72 pixel in formato png che più rappresenta la vostra applicazione e posizionatela sotto res/drawable-hdpi (&lt;a href="http://developer.android.com/guide/practices/screens_support.html" target="_blank"&gt;qui una spiegazione sulle directory delle risorse grafiche&lt;/a&gt;), chiamandola ad esempio ic_webapp.png. A questo punto si apre il file AndroidManifest.xml e nella sezione &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;application-&amp;gt;application attributes-&amp;gt;icon&lt;/span&gt; impostare &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;@drawable/ic_webapp&lt;/span&gt;. Questa configurazione chiederà ad android di utilizzare l'immagine che avete scelto come icona nel menù principale, una volta che l'applicazione sarà installata. La modifica è simile anche se si sceglie di modificare direttamente l'xml anziché utilizzare il wizard dell'ADT.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;I permessi&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Fondamentale per lo sviluppo Android è la corretta gestione dei permessi. Una applicazione ha bisogno di permessi particolari, infatti, per collegarsi ad internet, usare il GPS, la fotocamera eccetera. Il consenso al rilascio di questi permessi viene effettuato al momento dell'installazione da parte dell'utente. Ma dobbiamo spiegare ad Android di quali permessi ha bisogno la nostra applicazione! Nel nostro caso, solo dei permessi della navigazione internet. Apriamo quindi il manifest (AndroidManifest.xml) e cerchiamo la parte "Permission": cliccando su "Add" si selezione "Uses Permission" e poi "Android.Permission.Internet". Tutto qua, niente di trascendentale.&lt;br /&gt;&lt;br /&gt;Vediamo quindi il risultato xml di queste modifiche:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    package="net.stefanobianchini.webapp"&lt;br /&gt;    android:versionCode="1"&lt;br /&gt;    android:versionName="1.0" &amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;uses-sdk android:minSdkVersion="10" /&amp;gt;&lt;br /&gt;    &amp;lt;uses-permission android:name="android.permission.INTERNET"/&amp;gt;&lt;br /&gt;    &amp;lt;application&lt;br /&gt;        android:icon="@drawable/ic_webapp"&lt;br /&gt;        android:label="@string/app_name" &amp;gt;&lt;br /&gt;        &amp;lt;activity&lt;br /&gt;            android:name=".webappActivity"&lt;br /&gt;            android:label="@string/app_name" &amp;gt;&lt;br /&gt;            &amp;lt;intent-filter&amp;gt;&lt;br /&gt;                &amp;lt;action android:name="android.intent.action.MAIN" /&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;category android:name="android.intent.category.LAUNCHER" /&amp;gt;&lt;br /&gt;            &amp;lt;/intent-filter&amp;gt;&lt;br /&gt;        &amp;lt;/activity&amp;gt;&lt;br /&gt;    &amp;lt;/application&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/manifest&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Come si vede dall'xml, il nome che sarà visualizzato nel menù di android che identificherà l'applicazione è un valore chiamato app_name all'interno delle risorse stringa del progetto. Le risorse stringa sono simili alle risorse grafiche (&lt;i&gt;drawable&lt;/i&gt;), è praticamente un file xml con coppie di nomi - valori. Se apriamo il file &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;res-&amp;gt;values-&amp;gt;strings.xml&lt;/span&gt; possiamo modificare il valore della stringa app_name, in modo da personalizzarla:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Il Layout&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Android predilige il modello MVC, quindi il layout sarà separato dalla parte del funzionamento dell'applicazione. E cosa meglio di XML per disegnare i vari componenti grafici dell'applicazione? Ovviamente si può anche sfruttare l'editor visuale di Eclipse che dà una bella mano. La parte grafica si trova sotto res-&amp;gt;layout e poiché Eclipse già crea nel progetto base una impaginazione "Hello World", basterà modificare il file main.xml già presente. Nel nostro caso è molto, molto semplice: eliminiamo la textview esistente ed andiamo ad inserire un componente magico, chiamato WebView (sotto la linguetta Composite).&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-bb8qRg9CeAU/TxQIJB2inrI/AAAAAAAAAVk/vd4ctlaInXA/s1600/android3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-bb8qRg9CeAU/TxQIJB2inrI/AAAAAAAAAVk/vd4ctlaInXA/s320/android3.PNG" width="138" /&gt;&lt;/a&gt;&lt;/div&gt;Un'occhiata al risultato xml:&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;    android:layout_width="fill_parent"&lt;br /&gt;    android:layout_height="fill_parent"&lt;br /&gt;    android:orientation="vertical" &amp;gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;WebView&lt;br /&gt;        android:id="@+id/webView1"&lt;br /&gt;        android:layout_width="match_parent"&lt;br /&gt;        android:layout_height="match_parent" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;&lt;/pre&gt;Come si vede dalla figura, Eclipse ha chiamato il componente appena inserito "webView1". Ovviamente il nome può essere cambiato.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Il codice sorgente&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;Ora che tutto è pronto, diamo una occhiata al comportamento che l'applicazione deve adottare. Apriamo il file creato automaticamente webappActivity.java (ovviamente, se il progetto si chiama pincopallino il file che eclipse creerà automaticamente sarà nominato pincopallinoActivity.java). Iniziamo dalla base: appena l'applicazione viene lanciata, viene eseguito un metodo standard chiamato onCreate() dell'attività scelta per essere la principale (ossia quella eseguita per prima). Questo metodo viene reimplementato (override) e possiamo inserire dentro tutte le istruzioni utili al funzionamento base dell'applicazione, non prima però di aver definito una variabile pubblica relativa all'oggetto webview:&lt;br /&gt;&lt;pre class="java" name="code"&gt;/** Called when the activity is first created. */&lt;br /&gt;    @Override&lt;br /&gt;    public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;        super.onCreate(savedInstanceState);&lt;br /&gt;        //istruzione che imposta il layout main.xml&lt;br /&gt;        setContentView(R.layout.main);      &lt;br /&gt;        //ottengo l'oggetto webview&lt;br /&gt;        webView1 = (WebView) findViewById(R.id.webView1);&lt;br /&gt;        //Attivo il supporto javascript&lt;br /&gt;        webView1.getSettings().setJavaScriptEnabled(true);&lt;br /&gt;        //Carico la pagina desiderata&lt;br /&gt;        webView1.loadUrl("http://www.stefanobianchini.net");&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;E la prima funzione di base è pronta: ora però vogliamo che, navigando tra le pagine, la pressione del pulsante indietro del sistema android permetta di navigare nella cronologia anziché tornare al menù principale. Questo può essere fatto attraverso un override semplice:&lt;br /&gt;&lt;pre class="java" name="code"&gt;@Override&lt;br /&gt;    public boolean onKeyDown(int keyCode, KeyEvent event) {&lt;br /&gt;        if ((keyCode == KeyEvent.KEYCODE_BACK) &amp;amp;&amp;amp; webView1.canGoBack()) {&lt;br /&gt;         webView1.goBack();&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;        return super.onKeyDown(keyCode, event);&lt;br /&gt;    }&lt;br /&gt;&lt;/pre&gt;Bene. L'applicazione ha già la sua funzionalità di base, come si comprende se viene eseguito il progetto da Eclipse nell'emulatore. Se però si carica l'applicazione su un device, aprendo e chiudendo l'applicazione si possono avere dei problemi: questo perché l'applicazione, quando si torna al menù principale del sistema, viene messa in pausa automaticamente dall'OS Android. Per risolvere questo problema bastano poche righe di codice:&lt;br /&gt;&lt;pre class="java" name="code"&gt;public void onResume() {&lt;br /&gt;       super.onResume();&lt;br /&gt;       if (webView1 != null) {&lt;br /&gt;        webView1.resumeTimers();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;    public void onPause() {&lt;br /&gt;       super.onPause();&lt;br /&gt;       if (webView1 != null) {&lt;br /&gt;        webView1.pauseTimers();&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ora l'applicazione è funzionante. Nei futuri post spiegherò &lt;a href="http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una_17.html" target="_blank"&gt;come utilizzare un framework per lo sviluppo di applicazioni web mobile&lt;/a&gt; (jquery mobile), ossia simulare una applicazione vera e propria via internet. Inoltre verranno integrate piccole migliorie all'applicazione base mostrata in questo post, come ad esempio un pulsante esci, un pulsante home, una finestra di caricamento e magia delle magie, un ponte che collega javascript al codice java della nostra applicazione android, ovvero come eseguire comandi java dal una pagina web per android. Questo ovviamente apre vasti scenari (utlizzo della fotocamera, GPS eccetera). Ovviamente con i permessi opportuni :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5424925069845288285?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5424925069845288285/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5424925069845288285' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5424925069845288285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5424925069845288285'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2012/01/programmazione-android-costruire-una.html' title='Programmazione Android: Costruire una web application (prima parte)'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/-dSlyVIBGPzM/TxQD7Mg67xI/AAAAAAAAAVc/tYeRHUfThaU/s72-c/android2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7914274382095814694</id><published>2011-12-13T09:10:00.004+01:00</published><updated>2011-12-13T11:45:59.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>FullCalendar - un calendario jQuery con agenda e drag &amp; drop</title><content type='html'>Per un piccolo gestionale medico ultimamente mi è capitato sotto mano &lt;a href="http://arshaw.com/fullcalendar/" target="_blank"&gt;FullCalendar&lt;/a&gt;, un ottimo calendario jQuery "full-size" altamente configurabile. Già dalla home page di questo progetto emergono i punti forti del plugin: eventi di tutto il giorno o schedulati, drag &amp;amp; drop degli eventi, viste per mese, per settimana e vista giornaliera. Il progetto è molto ben documentato, quindi per un utilizzo base rimando ogni spiegazione al sito.&lt;br /&gt;Voglio pubblicare però la configurazione che ho utilizzato, cercando di mostrarne le potenzialità:&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;$('#calendar_strutture').fullCalendar({&lt;br /&gt;   header: {&lt;br /&gt;    left: 'prev,next today',&lt;br /&gt;    center: 'title',&lt;br /&gt;    right: 'month' //,agendaWeek,agendaDay&lt;br /&gt;   },&lt;br /&gt;   firstHour: 6,&lt;br /&gt;   firstDay: 1,&lt;br /&gt;   allDaySlot : false,&lt;br /&gt;   timeFormat: 'HH:mm',&lt;br /&gt;   monthNames:['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'],&lt;br /&gt;   monthNamesShort: ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'],&lt;br /&gt;   dayNames: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],&lt;br /&gt;   dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'],&lt;br /&gt;   buttonText: {&lt;br /&gt;    prev:     ' &amp;amp;#9668 ',  // left triangle&lt;br /&gt;    next:     ' &amp;amp;#9658 ',  // right triangle&lt;br /&gt;    prevYear: ' &amp;amp;lt;&amp;amp;lt;&amp;nbsp;', // &amp;lt;&amp;lt;&lt;br /&gt;    nextYear: ' &amp;amp;lt;&amp;amp;lt;&amp;nbsp;', // &amp;gt;&amp;gt;&lt;br /&gt;    today:    'Oggi',&lt;br /&gt;    month:    'Mese',&lt;br /&gt;    week:     'Settimana',&lt;br /&gt;    day:      'Giorno'&lt;br /&gt;   },&lt;br /&gt;   columnFormat: {&lt;br /&gt;    month: 'ddd',    // Mon&lt;br /&gt;    week: 'd/M ddd', // Mon 9/7&lt;br /&gt;    day: 'dddd d/M'  // Monday 9/7&lt;br /&gt;   },&lt;br /&gt;   editable: true,&lt;br /&gt;   &lt;br /&gt;   events: {&lt;br /&gt;    url: 'lista_calendario_strutture.php',&lt;br /&gt;    cache: true,&lt;br /&gt;    //color: 'purple',   // a non-ajax option&lt;br /&gt;          textColor: 'white' // a non-ajax option&lt;br /&gt;   },&lt;br /&gt;   lazyFetching: false,&lt;br /&gt;     &lt;br /&gt;   eventClick: function(calEvent) {&lt;br /&gt;    if(confirm("Elimino dal calendario la disponibilita' della struttura per il giorno selezionato?")) {&lt;br /&gt;     $.ajax({&lt;br /&gt;       url: "interventi.php?section=calendario_strutture&amp;amp;action=delete",&lt;br /&gt;       type: 'POST',&lt;br /&gt;       data: {&lt;br /&gt;      struttura: calEvent.title,&lt;br /&gt;      data: calEvent.start.getTime()&lt;br /&gt;       },&lt;br /&gt;       success: function(msg){&lt;br /&gt;      //alert(msg); //debug&lt;br /&gt;      $('#calendar_strutture').fullCalendar('removeEvents',calEvent.id); &lt;br /&gt;       },&lt;br /&gt;       error: function() {&lt;br /&gt;      revertFunc();&lt;br /&gt;       }&lt;br /&gt;     });&lt;br /&gt;    }&lt;br /&gt;   },&lt;br /&gt;   &lt;br /&gt;   eventMouseover: function(calEvent) {&lt;br /&gt;    $(this).find('.fc-event-title').html('&amp;lt;img src="template/default/admin/assets/images/delete.png" /&amp;gt; '+calEvent.title);&lt;br /&gt;   },&lt;br /&gt;   &lt;br /&gt;   eventMouseout: function(calEvent) {&lt;br /&gt;    $(this).find('.fc-event-title').html(calEvent.title);  &lt;br /&gt;   },&lt;br /&gt;   &lt;br /&gt;   eventDrop: function(calEvent,dayDelta,minuteDelta,allDay,revertFunc) {&lt;br /&gt;    //Qui ajax per spostamento evento&lt;br /&gt;    $.ajax({&lt;br /&gt;      url: "interventi.php?section=calendario_strutture&amp;amp;action=move",&lt;br /&gt;      type: 'POST',&lt;br /&gt;      data: {&lt;br /&gt;     struttura: calEvent.title,&lt;br /&gt;     movimento: dayDelta,&lt;br /&gt;     nuova_data: calEvent.start.getTime()&lt;br /&gt;               },&lt;br /&gt;      success: function(msg){&lt;br /&gt;     //alert(msg);&lt;br /&gt;      },&lt;br /&gt;      error: function() {&lt;br /&gt;     revertFunc();&lt;br /&gt;      }&lt;br /&gt;    });&lt;br /&gt;   },&lt;br /&gt;   droppable: true,&lt;br /&gt;   drop: function(date, allDay) { // this function is called when something is dropped&lt;br /&gt;   &lt;br /&gt;    // retrieve the dropped element's stored Event Object&lt;br /&gt;    var originalEventObject = $(this).data('eventObject');&lt;br /&gt;    &lt;br /&gt;    // we need to copy it, so that multiple events don't have a reference to the same object&lt;br /&gt;    var copiedEventObject = $.extend({}, originalEventObject);&lt;br /&gt;    &lt;br /&gt;    var today = new Date();&lt;br /&gt;    &lt;br /&gt;    // assign it the date that was reported&lt;br /&gt;    copiedEventObject.id = today.getTime();&lt;br /&gt;    copiedEventObject.start = date;&lt;br /&gt;    copiedEventObject.allDay = allDay;&lt;br /&gt;    &lt;br /&gt;    //alert(copiedEventObject.title + ' ' + copiedEventObject.start.getTime());&lt;br /&gt;    &lt;br /&gt;    //Qui ajax per inserimento disponibilita in calendario struttura&lt;br /&gt;    $.ajax({&lt;br /&gt;      url: "interventi.php?section=calendario_strutture&amp;amp;action=insert",&lt;br /&gt;      type: 'POST',&lt;br /&gt;      data: {&lt;br /&gt;     struttura: copiedEventObject.title,&lt;br /&gt;     data: copiedEventObject.start.getTime()&lt;br /&gt;               },&lt;br /&gt;      success: function(msg){&lt;br /&gt;     //alert(msg); //debug&lt;br /&gt;     // render the event on the calendar&lt;br /&gt;     $('#calendar_strutture').fullCalendar('renderEvent', copiedEventObject, false);&lt;br /&gt;      }&lt;br /&gt;    });&lt;br /&gt;    &lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;  });&lt;br /&gt;&lt;br /&gt;$('#external-events div.external-event').each(function() {&lt;br /&gt;&lt;br /&gt; // create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)&lt;br /&gt; // it doesn't need to have a start or end&lt;br /&gt; var eventObject = {&lt;br /&gt;  title: $.trim($(this).text()), // use the element's text as the event title&lt;br /&gt;  backgroundColor: $(this).css('background-color')&lt;br /&gt; };&lt;br /&gt; &lt;br /&gt; // store the Event Object in the DOM element so we can get to it later&lt;br /&gt; $(this).data('eventObject', eventObject);&lt;br /&gt; &lt;br /&gt; // make the event draggable using jQuery UI&lt;br /&gt; $(this).draggable({&lt;br /&gt;  zIndex: 999,&lt;br /&gt;  revert: true,      // will cause the event to go back to its&lt;br /&gt;  revertDuration: 0  //  original position after the drag&lt;br /&gt; });&lt;br /&gt; &lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;Questa prima parte, che deve essere contenuta nella parte relativa a &lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;$(document).ready(...)&lt;/span&gt;&lt;/span&gt;, specifica il comportamento del calendario, in particolare:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;deve poter gestire, tramite chiamate ajax, lo spostamento degli eventi (&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;eventDrop&lt;/span&gt;&lt;/span&gt;), che in questo caso particolare, sono "disponibilità" delle sale operatorie in determinate strutture ospedaliere&lt;/li&gt;&lt;li&gt;deve gestire l'eliminazione delle disponibilità, mediante click del mouse (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;eventClick&lt;/span&gt;) sull'evento stesso (notare che quando il mouse si trova sopra l'evento viene mostrata una icona "cestino")&lt;/li&gt;&lt;li&gt;deve gestire la creazione delle disponibilità mediante il trascinamento dall'elenco strutture sulla sinistra al calendario (&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;drop&lt;/span&gt;), date una occhiata allo screenshot per capire di cosa sto parlando&lt;/li&gt;&lt;li&gt;La parte finale del codice jQuery è relativa al punto 3, fa capire al motore javascript che i &lt;div&gt;sulla sinistra deve gestirli come "draggable" e creare un oggetto evento (Event Object) in modo da poterlo poi gestire in FullCalendar.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;Di seguito il codice html utilizzato (elenco strutture + calendario):&lt;br /&gt;&lt;pre class="html" name="code"&gt;&amp;lt;div id='wrap' style="width:100%;margin: 0 auto;"&amp;gt; &lt;br /&gt;                 &amp;lt;div id='external-events' style="float: left;width: 150px;padding: 0 10px;border: 1px solid #ccc;background: #eee;text-align: left;margin-right:20px;"&amp;gt;&lt;br /&gt;                  &amp;lt;h4&amp;gt;Elenco Strutture&amp;lt;/h4&amp;gt;&lt;br /&gt;                                    &amp;lt;div class='external-event' style="background-color:#0099FF"&amp;gt;Struttura Ospedaliera 1&amp;lt;/div&amp;gt;&lt;br /&gt;                                    &amp;lt;div class='external-event' style="background-color:#996699"&amp;gt;Struttura Ospedaliera 2&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;                                    &amp;lt;/div&amp;gt;&lt;br /&gt;                 &amp;lt;div id='calendar_strutture' style="width: 900px;float:left;"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;                 &amp;lt;div style='clear:both'&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;              &amp;lt;/div&amp;gt;&lt;br /&gt;            &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-dYbl9Rc_mKk/TucILAVArwI/AAAAAAAAAVE/EfPxio3TBn4/s1600/cal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;Il risultato finale!&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-dYbl9Rc_mKk/TucILAVArwI/AAAAAAAAAVE/EfPxio3TBn4/s1600/cal.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://4.bp.blogspot.com/-dYbl9Rc_mKk/TucILAVArwI/AAAAAAAAAVE/EfPxio3TBn4/s400/cal.png" width="400" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7914274382095814694?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7914274382095814694/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7914274382095814694' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7914274382095814694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7914274382095814694'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/12/fullcalendar-un-calendario-jquery-con.html' title='FullCalendar - un calendario jQuery con agenda e drag &amp; drop'/><author><name>Stefano Bianchini</name><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/-dYbl9Rc_mKk/TucILAVArwI/AAAAAAAAAVE/EfPxio3TBn4/s72-c/cal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-2350316982714832620</id><published>2011-08-31T15:42:00.000+02:00</published><updated>2011-08-31T15:42:45.963+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>familyFinance.NET - sorgente - gestire le finanze familiari con C#</title><content type='html'>Vi propongo un &lt;a href="http://www.stefanobianchini.net/familyfinance.net/"&gt;software semplice semplice&lt;/a&gt; da me sviluppato per testare il funzionamento del C# con la tecnologia Sqlite.&lt;br /&gt;Prendetelo così com'è, con i suoi bug e i suoi difetti (vuole essere semplicemente un test). I sorgenti sono scaricabili direttamente dal mio sito: &lt;a href="http://www.stefanobianchini.net/familyfinance.net/familyfinance.net.zip"&gt;http://www.stefanobianchini.net/familyfinance.net/familyfinance.net.zip&lt;/a&gt;&lt;br /&gt;Tra le caratteristiche: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sviluppato in C# (Framework 2.0)&lt;/li&gt;&lt;li&gt;Database Sqlite&lt;/li&gt;&lt;li&gt;Gestione movimenti (entrate, uscite) con data, note, descrizione, categoria (testuali)&lt;/li&gt;&lt;li&gt;Gestione saldo iniziale e opzioni basilari&lt;/li&gt;&lt;li&gt;Grafico a torta entrate / uscite&lt;/li&gt;&lt;/ul&gt;Alcuni screenshots:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.stefanobianchini.net/images/familyfinance.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://www.stefanobianchini.net/images/familyfinance.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.stefanobianchini.net/images/familyfinance2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://www.stefanobianchini.net/images/familyfinance2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.stefanobianchini.net/images/familyfinance3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="265" src="http://www.stefanobianchini.net/images/familyfinance3.png" width="320" /&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/4120451589748876420-2350316982714832620?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2350316982714832620/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2350316982714832620' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2350316982714832620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2350316982714832620'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/08/familyfinancenet-sorgente-gestire-le.html' title='familyFinance.NET - sorgente - gestire le finanze familiari con C#'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-2771008686221652043</id><published>2011-08-02T10:02:00.000+02:00</published><updated>2011-08-02T10:02:38.765+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>C# - un file browser personalizzato, riutilizzabile!</title><content type='html'>In questi giorni mi sono dedicato allo sviluppo di un &lt;a href="http://www.stefanobianchini.net/csharp-file-browser"&gt;piccolo componente&lt;/a&gt; (uno user control, utilizzando la terminologia .NET) che si occupa di fare da "file browser", ossia di navigare tra cartelle e file, effettuando le operazioni più comuni (apertura, nuova cartella, eliminazione, spostamento mediante drag &amp;amp; drop ecc.).&lt;br /&gt;Ne è uscita fuori una libreria DLL riutilizzabile, scaricabile a questo indirizzo:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.stefanobianchini.net/csharp-file-browser/filebrowser.zip"&gt;http://www.stefanobianchini.net/csharp-file-browser/filebrowser.zip&lt;/a&gt;&amp;nbsp;&lt;/div&gt;Ora vediamo come importare questo componente, contenuto nella libreria DLL, all'interno di un progetto C#:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;per prima cosa cliccare con il tasto destro sulla casella degli strumenti (quella con i componenti più comuni) e selezionare "&lt;i&gt;Scegli elementi&lt;/i&gt;";&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Di4yT12hA44/TjLJtj8CiXI/AAAAAAAAAUM/FzharDJol0M/s1600/filebrowser_sp1.PNG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-Di4yT12hA44/TjLJtj8CiXI/AAAAAAAAAUM/FzharDJol0M/s1600/filebrowser_sp1.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;cliccare su "&lt;i&gt;Sfoglia&lt;/i&gt;" e selezionare la libreria dll. Abilitare il componente (chiamato in questo caso &lt;i&gt;filebrowser&lt;/i&gt;) tramite il &lt;i&gt;check &lt;/i&gt;a sinistra dello stesso;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ox6hpjuRMn0/TjLJ3ZARfOI/AAAAAAAAAUQ/s6RQukFafKo/s1600/filebrowser_sp2.PNG" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-ox6hpjuRMn0/TjLJ3ZARfOI/AAAAAAAAAUQ/s6RQukFafKo/s320/filebrowser_sp2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;trascinare infine il componente dalla casella degli strumenti al form nel quale si intende avvalersi dei suoi servigi; &lt;/li&gt;&lt;li&gt;impostare la proprietà che specifica la cartella da cui partire come radice (nell'esempio, il disco c:\) &lt;pre class="csharp" name="code"&gt;fileBrowser1._ROOT = @"c:\";&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;Spero che questo mio lavoro sia utile anche ad altri :-) &lt;br /&gt;Qui potete vedere il risultato finale:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-uG-iAe1EXg0/TjLKOF8lHBI/AAAAAAAAAUU/KCXXtMAZ1tI/s1600/filebrowser.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://3.bp.blogspot.com/-uG-iAe1EXg0/TjLKOF8lHBI/AAAAAAAAAUU/KCXXtMAZ1tI/s320/filebrowser.PNG" width="320" /&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/4120451589748876420-2771008686221652043?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2771008686221652043/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2771008686221652043' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2771008686221652043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2771008686221652043'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/08/c-un-file-browser-personalizzato.html' title='C# - un file browser personalizzato, riutilizzabile!'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/-Di4yT12hA44/TjLJtj8CiXI/AAAAAAAAAUM/FzharDJol0M/s72-c/filebrowser_sp1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3382833088697086500</id><published>2011-08-01T15:12:00.001+02:00</published><updated>2011-08-01T15:15:35.066+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Php: una comoda libreria per interagire con MySql</title><content type='html'>&lt;div style="text-align: justify;"&gt;Pubblico una comoda libreria da utilizzarsi per interagire con un database MySql. Fa parte del codice di &lt;a href="http://www.opencart.com/"&gt;Opencart&lt;/a&gt; che, come al solito, si rivela per me fonte di ottimo codice Php. Nella realtà sarebbe un driver, ossia un codice specifico per DBMS; Opencart in realtà usa una classe wrapper (chiamata db.php) non interessandosi dell'implementazione. A seconda del DBMS utilizzato, viene incluso un driver oppure un altro (ad esempio, MySql.php oppure Mssql.php e così via).&lt;/div&gt;Dopo questa precisazione, diamo una occhiata al codice:&lt;br /&gt;&lt;pre class="php" name="code"&gt;&amp;lt;?php&lt;br /&gt;final class MySQL {&lt;br /&gt; private $connection;&lt;br /&gt;&lt;br /&gt; public function __construct($hostname, $username, $password, $database) {&lt;br /&gt;  if (!$this-&amp;gt;connection = mysql_connect($hostname, $username, $password)) {&lt;br /&gt;   exit('Error: Could not make a database connection using ' . $username . '@' . $hostname);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if (!mysql_select_db($database, $this-&amp;gt;connection)) {&lt;br /&gt;   exit('Error: Could not connect to database ' . $database);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  mysql_query("SET NAMES 'utf8'", $this-&amp;gt;connection);&lt;br /&gt;  mysql_query("SET CHARACTER SET utf8", $this-&amp;gt;connection);&lt;br /&gt;  mysql_query("SET CHARACTER_SET_CONNECTION=utf8", $this-&amp;gt;connection);&lt;br /&gt;  mysql_query("SET SQL_MODE = ''", $this-&amp;gt;connection);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public function query($sql) {&lt;br /&gt;  $resource = mysql_query($sql, $this-&amp;gt;connection);&lt;br /&gt;&lt;br /&gt;  if ($resource) {&lt;br /&gt;   if (is_resource($resource)) {&lt;br /&gt;    $i = 0;&lt;br /&gt;     &lt;br /&gt;    $data = array();&lt;br /&gt;&lt;br /&gt;    while ($result = mysql_fetch_assoc($resource)) {&lt;br /&gt;     $data[$i] = $result;&lt;br /&gt;      &lt;br /&gt;     $i++;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    mysql_free_result($resource);&lt;br /&gt;&lt;br /&gt;    $query = new stdClass();&lt;br /&gt;    $query-&amp;gt;row = isset($data[0]) ? $data[0] : array();&lt;br /&gt;    $query-&amp;gt;rows = $data;&lt;br /&gt;    $query-&amp;gt;num_rows = $i;&lt;br /&gt;&lt;br /&gt;    unset($data);&lt;br /&gt;&lt;br /&gt;    return $query;&lt;br /&gt;   } else {&lt;br /&gt;    return TRUE;&lt;br /&gt;   }&lt;br /&gt;  } else {&lt;br /&gt;   exit('Error: ' . mysql_error($this-&amp;gt;connection) . '&amp;lt;br /&amp;gt;Error No: ' . mysql_errno($this-&amp;gt;connection) . '&amp;lt;br /&amp;gt;' . $sql);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public function escape($value) {&lt;br /&gt;  return mysql_real_escape_string($value, $this-&amp;gt;connection);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public function countAffected() {&lt;br /&gt;  return mysql_affected_rows($this-&amp;gt;connection);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public function getLastId() {&lt;br /&gt;  return mysql_insert_id($this-&amp;gt;connection);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public function __destruct() {&lt;br /&gt;  mysql_close($this-&amp;gt;connection);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;Notate il costruttore (che si occupa di creare la connessione) ma soprattutto il distruttore (__destruct) che avrà il compito di chiudere la connessione (cosa che, diciamolo, viene spesso dimenticata).&lt;br /&gt;L'utilizzo di questa classe è semplice e immediato:&lt;br /&gt;&lt;pre class="php" name="code"&gt;//creo l'oggetto con i parametri desiderati &lt;br /&gt;$db = new MySql("localhost","user","password","test_db");&lt;br /&gt;//ottengo il risultato della query&lt;br /&gt;$result = $db-&amp;gt;query("SELECT * FROM users");&lt;br /&gt;//se il numero di righe è maggiore di zero&lt;br /&gt;if($result-&amp;gt;num_rows) {&amp;nbsp;&lt;br /&gt;//Ciclo nelle righe del risultato stampando il campo "name"&lt;br /&gt;   foreach ($result-&amp;gt;rows as $user_row) {&lt;br /&gt;      echo $user_row['name'];&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3382833088697086500?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3382833088697086500/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3382833088697086500' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3382833088697086500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3382833088697086500'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/08/php-una-comoda-libreria-per-interagire.html' title='Php: una comoda libreria per interagire con MySql'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-3265577871714682429</id><published>2011-07-30T08:00:00.003+02:00</published><updated>2011-07-30T08:00:01.884+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Gestire le macchine virtuali vmware con uno script shell linux</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ecco un bello script Shell per gestire le macchine virtuali, l'ho preparato al lavoro per semplificarci la vita.&lt;br /&gt;Funziona benino :-)&lt;/div&gt;&lt;pre class="css" name="code"&gt;#!/bin/sh&lt;br /&gt;while :&lt;br /&gt;&amp;nbsp;do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; clear&lt;br /&gt;dialog --backtitle "Gestione Macchine Virtuali" \&lt;br /&gt;--menu "Seleziona dall'elenco l'azione che vuoi eseguire" \&lt;br /&gt;15 60 5 \&lt;br /&gt;1 "Visualizzare lista VM accese" \&lt;br /&gt;2 "Visualizzare lista VM disponibili" \&lt;br /&gt;3 "Accendere una VM" \&lt;br /&gt;4 "Spegnere una VM" \&lt;br /&gt;5 "Esci" \&lt;br /&gt;2&amp;gt;/tmp/menuitem.$$&lt;br /&gt;OPZIONE=`cat /tmp/menuitem.$$`&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case $OPZIONE in&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 1) RESULT=`vmrun -T server -h https://localhost:8333/sdk -u administrator -p password list`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; dialog --title "Lista Macchine accese" --backtitle "Creato da Stefano Bianchini" --msgbox "$RESULT" 12 50&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 2) RESULT=`vmrun -T server -h https://localhost:8333/sdk -u administrator -p password listRegisteredVM`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; dialog --title "Lista Macchine disponibili" --backtitle "Creato da Stefano Bianchini" --msgbox "$RESULT" 12 50&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 3)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; vmrun -T server -h https://localhost:8333/sdk -u administrator -p password listRegisteredVM | grep ".vmx" &amp;gt; /tmp/regVM.$$&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; righe=$(wc -l /tmp/regVM.$$ | awk '{print $1}')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; riga=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; TOTALE=""&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while [ $riga -lt $righe ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; #let riga+=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; riga=`expr $riga + 1`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; #riga=$riga+1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; current=$(head -$riga /tmp/regVM.$$ | tail -1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; TOTALE="$TOTALE \"$current\" =="&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; TOTALE="dialog --backtitle \"Creato da Stefano Bianchini\" --menu \"Seleziona la macchina virtuale\" 0 0 0 $TOTALE 2&amp;gt;/tmp/menuitem.$$"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; echo $TOTALE &amp;gt; /tmp/menu.$$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; chmod +x /tmp/menu.$$&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /tmp/menu.$$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CHOICE=`cat /tmp/menuitem.$$`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if [ "$CHOICE" != "" ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; vmrun -T server -h https://localhost:8333/sdk -u administrator -p password start "$CHOICE"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 4) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; vmrun -T server -h https://localhost:8333/sdk -u administrator -p password list | grep ".vmx" &amp;gt; /tmp/regVM.$$&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; righe=$(wc -l /tmp/regVM.$$ | awk '{print $1}')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; riga=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; TOTALE=""&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while [ $riga -lt $righe ]; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; riga=`expr $riga + 1`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; current=$(head -$riga /tmp/regVM.$$ | tail -1)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; TOTALE="$TOTALE \"$current\" =="&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; TOTALE="dialog --backtitle \"Creato da Stefano Bianchini\" --menu \"Seleziona la macchina virtuale\" 0 0 0 $TOTALE 2&amp;gt;/tmp/menuitem.$$"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; echo $TOTALE &amp;gt; /tmp/menu.$$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; chmod +x /tmp/menu.$$&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; /tmp/menu.$$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; CHOICE=`cat /tmp/menuitem.$$`&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if [ "$CHOICE" != "" ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; vmrun -T server -h https://localhost:8333/sdk -u administrator -p password stop "$CHOICE" soft&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 5) exit 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; *) exit 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; esac&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3265577871714682429?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3265577871714682429/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3265577871714682429' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3265577871714682429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3265577871714682429'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/09/gestire-le-macchine-virtuali-vmware-con_24.html' title='Gestire le macchine virtuali vmware con uno script shell linux'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-5788276435661561768</id><published>2011-07-29T12:16:00.002+02:00</published><updated>2011-08-02T11:17:17.526+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>C# - formattare in stringa la dimensione di un file</title><content type='html'>&lt;div style="text-align: justify;"&gt;Semplice funzione per formattare la dimensione di un file, trovata&lt;a href="http://fatagnus.com/an-example-on-how-to-format-file-size-in-c/"&gt; a questo indirizzo&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Utilizzando in C# l'oggetto FileInfo (per ottenere informazioni su un determinato file) il valore emesso dalla funzione Lenght è di tipo long. Serve quindi una funzione che lo formatti capendo se si tratta di Mb, Gb, Kb eccetera.&lt;/div&gt;&lt;pre class="csharp" name="code"&gt;public static string ToByteString(long bytes)&lt;br /&gt;{&lt;br /&gt;   long kilobyte = 1024;&lt;br /&gt;   long megabyte = 1024 * kilobyte;&lt;br /&gt;   long gigabyte = 1024 * megabyte;&lt;br /&gt;   long terabyte = 1024 * gigabyte;&lt;br /&gt;   if (bytes &amp;gt; terabyte) return (bytes / terabyte).ToString("0.00 TB");&lt;br /&gt;   else if (bytes &amp;gt; gigabyte) return (bytes / gigabyte).ToString("0.00 GB");&lt;br /&gt;   else if (bytes &amp;gt; megabyte) return (bytes / megabyte).ToString("0.00 MB");&lt;br /&gt;   else if (bytes &amp;gt; kilobyte) return (bytes / kilobyte).ToString("0.00 KB");&lt;br /&gt;   else return bytes + " Bytes";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Ed ora un semplice esempio di utilizzo:&lt;br /&gt;&lt;pre class="csharp" name="code"&gt;FileInfo fi = new FileInfo(filename);&lt;br /&gt;Console.Write("Dimensione file: " + ToByteString(fi.Length));&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Questa funzione è fondamentale per un componente C# (User Control) che sto preparando: un &lt;a href="http://stefanobianchini.blogspot.com/2011/08/c-un-file-browser-personalizzato.html"&gt;&lt;i&gt;fileBrowser&lt;/i&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/4120451589748876420-5788276435661561768?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5788276435661561768/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5788276435661561768' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5788276435661561768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5788276435661561768'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/07/c-formattare-in-stringa-la-dimensione.html' title='C# - formattare in stringa la dimensione di un file'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-1686611651290494628</id><published>2011-07-27T15:54:00.002+02:00</published><updated>2011-07-27T16:08:15.095+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>jQuery: semplice e veloce slideshow (base)</title><content type='html'>&lt;div style="text-align: justify;"&gt;Girovagando per la rete, mi sono imbattuto &lt;a href="http://blog.mrwebmaster.it/2011/03/18/uno-slideshow-in-5-minuti-con-jquery.html"&gt;in questo codice&lt;/a&gt; per creare una veloce slideshow con il &lt;a href="http://jquery.com/"&gt;framework jQuery&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ovviamente fare il copia e incolla non è nel mio stile quindi ho apportato qualche piccola modifica nel codice (niente di speciale, tempistiche e stile degli elementi).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Questo perché, se utilizzate direttamente il codice originale, verrà mostrato un effetto non voluto: durante la transizione delle immagini, se ne vedono due in una volta che sembra che facciano a botte tra di loro per mostrarsi (ok, fate prima a provare di persona per capire cosa intendo).&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Per la cronaca, l'autore del codice originale lascia all'utilizzatore finale il compito di aggiungere tutto lo stile CSS. E così ho fatto &lt;b&gt;:-)&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Qui di seguito il listato della slideshow personalizzata. Iniziamo con la testata del file html (standard), dove andremo ad inglobare jQuery:&lt;/div&gt;&lt;pre class="html" name="code"&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Prova Slideshow&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;Proseguiamo con il cuore del codice:&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;&amp;lt;script&amp;gt;&lt;br /&gt;$(function(){&lt;br /&gt;    $('.slideshow img:gt(0)').hide();&lt;br /&gt;    setInterval(function(){$('.slideshow :first-child').fadeOut(1500).next('img').fadeIn(1500).end().appendTo('.slideshow');}, 2400);&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;Io ho aggiunto la tempistica del fadeOut e del fadeIn (1 secondo e mezzo). &lt;br /&gt;Applichiamo uno stile css adeguato ai nostri scopi: slideshow centrato, sovrapposizione delle immagini per evitare effetto "&lt;i&gt;litigio&lt;/i&gt;", eccetera:&lt;br /&gt;&lt;pre class="css" name="code"&gt;&amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;body {&lt;br /&gt; margin:0;&lt;br /&gt; padding:0;&lt;br /&gt; text-align:center;&lt;br /&gt;}&lt;br /&gt;.slideshow {&lt;br /&gt; margin:0 auto;&lt;br /&gt; padding:0;&lt;br /&gt; width:618px;&lt;br /&gt; height:246px;&lt;br /&gt; border:1px solid #eeeeee;&lt;br /&gt;}&lt;br /&gt;.slideshow img { &lt;br /&gt; display:block;&lt;br /&gt; position:absolute;&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;/pre&gt;E finiamo in bellezza con il codice html dello slideshow (e del resto della pagina)&lt;br /&gt;&lt;pre class="html" name="code"&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt; &amp;lt;div class="slideshow"&amp;gt;&lt;br /&gt;  &amp;lt;img src="1.jpg"/&amp;gt;&lt;br /&gt;  &amp;lt;img src="2.jpg"/&amp;gt;&lt;br /&gt;  &amp;lt;img src="3.jpg"/&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1686611651290494628?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1686611651290494628/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1686611651290494628' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1686611651290494628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1686611651290494628'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/07/jquery-semplice-e-veloce-slideshow-base.html' title='jQuery: semplice e veloce slideshow (base)'/><author><name>Stefano Bianchini</name><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><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7423215080892910114</id><published>2011-07-26T17:23:00.001+02:00</published><updated>2011-07-26T17:28:00.540+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>jQuery: eliminare una riga di una tabella (con richiesta ajax)</title><content type='html'>Poco tempo fa ho avuto la necessità di sviluppare un piccolo programma di protocollo. Caratteristica base era che ogni documento protocollato poteva avere più mittenti e più destinatari: la cancellazione degli stessi, così come la modifica, doveva avvenire in modo trasparente e veloce, ossia... tramite ajax :-)&lt;br /&gt;Ricercando nel web, &lt;a href="http://www.bitsntuts.com/css/simple-jquery-delete-table"&gt;mi sono imbattuto in questa soluzione&lt;/a&gt;, facilmente adattata alle mie esigenze:&lt;br /&gt;&lt;pre class="javascript" name="code"&gt;function cancellaMittente(id,num_progressivo,anno_progressivo){&lt;br /&gt; if (confirm('Sicuro di voler eliminare questo mittente?')) {&lt;br /&gt;  jQuery.post('cancella_mittente.php', {id: +id, num_progressivo: + num_progressivo, anno_progressivo: +anno_progressivo },&lt;br /&gt;  function(){&lt;br /&gt;   jQuery("#mittente_"+id).fadeOut("slow");&lt;br /&gt;  });&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Questa funzione verrà richiamata ogni volta che si vorrà eliminare un determinato mittente ed eseguirà le operazioni:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;esecuzione di una richiesta ajax di tipo post al file cancella_mittente.php con parametro id (dell'anagrafica), num_progressivo e anno_progressivo (questi ultimi identificano il documento protocollato); &lt;/li&gt;&lt;li&gt;fadeOut, e quindi dissolvenza e cancellazione, della riga selezionata (la discriminazione è per id del tag, ad esempio mittente_1&lt;/li&gt;&lt;/ol&gt;Lato html invece la questione è semplice:&lt;br /&gt;&lt;pre class="html" name="code"&gt;&amp;lt;tr id="destinatario_1"&amp;gt;&lt;br /&gt;   &amp;lt;td width="50"&amp;gt;&lt;br /&gt;      &amp;lt;a href="#" onclick="cancellaDestinatario(1,12,2011)"&amp;gt;&lt;br /&gt;      &amp;lt;img src="img/remove.png" /&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;   &amp;lt;/td&amp;gt;&lt;br /&gt;   &amp;lt;td align="center"&amp;gt;Pinco Pallino&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;/pre&gt;Il file richiamato via post ajax avrà il compito di eliminare dal database la entry relativa all'id passato per parametro. Di seguito l'implementazione vera, con due parametri (num_progressivo e anno_progressivo) che per semplicità sono stati omessi nei listati precedenti:&lt;br /&gt;&lt;pre class="php" name="code"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;require('engine/config.php');&lt;br /&gt;&lt;br /&gt;if(is_numeric($_REQUEST['num_progressivo']) &amp;amp;&amp;amp; is_numeric($_REQUEST['anno_progressivo']) &amp;amp;&amp;amp; is_numeric($_REQUEST['id'])) {&lt;br /&gt;&lt;br /&gt;$ris=$db-&amp;gt;query("DELETE FROM ". $__TABLE_PREFIX."protocollo_mittente WHERE mittente_documento_num_progressivo='".$_REQUEST['num_progressivo']."' AND mittente_documento_anno_progressivo='".$_REQUEST['anno_progressivo']."' AND mittente_id_anagrafica='".$_REQUEST['id']."'");&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7423215080892910114?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7423215080892910114/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7423215080892910114' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7423215080892910114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7423215080892910114'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/07/jquery-eliminare-una-riga-di-una.html' title='jQuery: eliminare una riga di una tabella (con richiesta ajax)'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-5697585209794773208</id><published>2011-07-13T12:39:00.003+02:00</published><updated>2011-07-26T16:41:30.736+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>C# - intercettare la pressione dei tasti funzione in un form</title><content type='html'>Brevissimo tips su come intercettare la pressione di un tasto "speciale" (ad esempio, tasti funzione, oppure Alt, Canc eccetera) in un form C#.&lt;br /&gt;Per prima cosa, dobbiamo impostare a true l'attributo KeyPreview del form stesso, come si nota da figura:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-mBxxmHHfapg/Th1zkJOlTiI/AAAAAAAAATE/4sExtXB4U8U/s1600/screen.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-mBxxmHHfapg/Th1zkJOlTiI/AAAAAAAAATE/4sExtXB4U8U/s1600/screen.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A questo punto dobbiamo associare all'evento KeyDown del form una determinata funzione:&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="c-sharp"&gt;private void FormCassa_KeyDown(object sender, KeyEventArgs e)&lt;br /&gt;{&lt;br /&gt;   //Intercetto il tasto F2&lt;br /&gt;   if (e.KeyCode == Keys.F2) MessageBox.Show("F2 Premuto");&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-family: inherit;"&gt;Chiaramente se voglio intercettare F5, basta confrontare il tasto premuto con &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;span style="color: #3d85c6;"&gt;Keys&lt;/span&gt;.F5&lt;/span&gt;&lt;span style="font-family: inherit;"&gt; . Tutto qua :-)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5697585209794773208?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5697585209794773208/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5697585209794773208' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5697585209794773208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5697585209794773208'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2011/07/c-intercettare-la-pressione-dei-tasti.html' title='C# - intercettare la pressione dei tasti funzione in un form'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/-mBxxmHHfapg/Th1zkJOlTiI/AAAAAAAAATE/4sExtXB4U8U/s72-c/screen.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7827957673166061249</id><published>2010-10-13T16:56:00.007+02:00</published><updated>2010-10-13T17:16:54.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>C# - Dimensionare una finestra figlia adattandola al contenitore padre MDI</title><content type='html'>Inizio con questo post una serie di interventi relativi al liguaggio C#. Sono semplicemente dei "tips" e non degli articoli riguardanti le basi del C# :-)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Poco tempo fa, mi sono chiesto: data una finestra che contiene altre  finestre (&lt;span style="font-style: italic;"&gt;MDI&lt;/span&gt;, ossia una finestra utilizzata come sfondo di  un'applicazione con interfaccia a documenti multipli, &lt;span style="font-style: italic;"&gt;multiple document interface&lt;/span&gt;), come posso fare aprire una finestra figlio che automaticamente si adatta alla grandezza del padre?&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_CxowvyW17kU/TLXNCY7ndQI/AAAAAAAAARE/dsx28s6S4Zg/s1600/c%23.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 250px;" src="http://4.bp.blogspot.com/_CxowvyW17kU/TLXNCY7ndQI/AAAAAAAAARE/dsx28s6S4Zg/s320/c%23.png" alt="" id="BLOGGER_PHOTO_ID_5527549558603085058" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;Semplice come bere un bicchier d'acqua: basta posizionarsi nel codice relativo all'evento "&lt;span style="font-style: italic;"&gt;Load&lt;/span&gt;" della finestra figlio e scrivere:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;font-size:85%;"  &gt;this&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;.Dock = &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 255, 255);font-family:courier new;font-size:85%;"  &gt;DockStyle&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;.Fill;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Facile e veloce :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7827957673166061249?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7827957673166061249/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7827957673166061249' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7827957673166061249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7827957673166061249'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2010/10/c-dimensionare-una-finestra-figlia.html' title='C# - Dimensionare una finestra figlia adattandola al contenitore padre MDI'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/TLXNCY7ndQI/AAAAAAAAARE/dsx28s6S4Zg/s72-c/c%23.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5850978764015422497</id><published>2010-09-08T17:06:00.009+02:00</published><updated>2011-07-26T16:54:11.893+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='captcha'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Una comoda classe php captcha</title><content type='html'>Oggi presento una comoda classe php captcha, proveniente da &lt;a href="http://www.opencart.com/" style="font-weight: bold;"&gt;OpenCart&lt;/a&gt; . Essendo il progetto open source, possiamo analizzare come funziona ma soprattutto come usarla con tre righe di codice.&lt;br /&gt;Prima di tutto vediamo il contenuto della classe:&lt;br /&gt;&lt;pre class="php" name="code"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;class Captcha {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Classe captcha.php - da www.opencart.com&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;protected $code;&lt;br /&gt;protected $width = 35;&lt;br /&gt;protected $height = 150;&lt;br /&gt;&lt;br /&gt;function __construct() {&lt;br /&gt;$this-&amp;gt;code = substr(sha1(mt_rand()), 17, 6);&lt;br /&gt;}&lt;br /&gt;function getCode(){&lt;br /&gt;return $this-&amp;gt;code;&lt;br /&gt;}&lt;br /&gt;function showImage() {&lt;br /&gt;$image = imagecreatetruecolor($this-&amp;gt;height, $this-&amp;gt;width);&lt;br /&gt;$width = imagesx($image);&lt;br /&gt;$height = imagesy($image);&lt;br /&gt;$black = imagecolorallocate($image, 0, 0, 0);&lt;br /&gt;$white = imagecolorallocate($image, 255, 255, 255);&lt;br /&gt;$red = imagecolorallocatealpha($image, 255, 0, 0, 75);&lt;br /&gt;$green = imagecolorallocatealpha($image, 0, 255, 0, 75);&lt;br /&gt;$blue = imagecolorallocatealpha($image, 0, 0, 255, 75);&lt;br /&gt;imagefilledrectangle($image, 0, 0, $width, $height, $white);&lt;br /&gt;imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $red);&lt;br /&gt;imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $green);&lt;br /&gt;imagefilledellipse($image, ceil(rand(5, 145)), ceil(rand(0, 35)), 30, 30, $blue);&lt;br /&gt;imagefilledrectangle($image, 0, 0, $width, 0, $black);&lt;br /&gt;imagefilledrectangle($image, $width - 1, 0, $width - 1, $height - 1, $black);&lt;br /&gt;imagefilledrectangle($image, 0, 0, 0, $height - 1, $black);&lt;br /&gt;imagefilledrectangle($image, 0, $height - 1, $width, $height - 1, $black);&lt;br /&gt;imagestring($image, 10, intval(($width - (strlen($this-&amp;gt;code) * 9)) / 2), intval(($height - 15) / 2), $this-&amp;gt;code, $black);&lt;br /&gt;&lt;br /&gt;header('Content-type: image/jpeg');&lt;br /&gt;imagejpeg($image);&lt;br /&gt;imagedestroy($image);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;Utilizzare questa classe è alquanto semplice: poniamo infatti di dover usare una pagina php per la registrazione dell'utente chiamata register.php. Questa pagina avrà un form che invierà i dati alla pagina stessa, dopo il submit dell'utente.&lt;br /&gt;&lt;br /&gt;Abbiamo bisogno di una ulteriore pagina, chiamata immagineCaptcha.php.&lt;br /&gt;Tra i campi che andremo a controllare, ci sarà anche il codice captcha, salvato in una variabile di sessione. Per spiegarmi meglio, immagineCaptcha.php sarà così composto:&lt;br /&gt;&lt;pre class="php" name="code"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;session_start();&lt;br /&gt;include("captcha.php");&lt;br /&gt;$c = new Captcha();&lt;br /&gt;&lt;br /&gt;// Si salva il getCode in sessione&lt;br /&gt;$_SESSION['code'] = $c-&amp;gt;getCode();&lt;br /&gt;&lt;br /&gt;$c-&amp;gt;showImage();&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Nella pagina register.php, ci sarà sia il form che il controllo del form stesso:&lt;br /&gt;&lt;pre class="php" name="code"&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;session_start();&lt;br /&gt;&lt;br /&gt;if(isset($_POST['email'])) {&lt;br /&gt;//Form inviato&lt;br /&gt;if($_SESSION['code']==$_POST['code']) {&lt;br /&gt;//controllo captcha andato a buon fine&lt;br /&gt;//qui funzione di registrazione&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;//Mostro il form&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;form method="post" action="register.php"&amp;gt;&lt;br /&gt;&amp;lt;input type="text" name="email"/&amp;gt;&lt;br /&gt;&amp;lt;input type="text" name="code"/&amp;gt;&lt;br /&gt;&amp;lt;img src="immagineCaptcha.php"/&amp;gt;&lt;br /&gt;&amp;lt;input type="submit"/&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php }&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5850978764015422497?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5850978764015422497/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5850978764015422497' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5850978764015422497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5850978764015422497'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2010/09/una-comoda-classe-php-captcha.html' title='Una comoda classe php captcha'/><author><name>Stefano Bianchini</name><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><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6702693112818617843</id><published>2009-11-26T10:31:00.005+01:00</published><updated>2009-11-26T11:13:49.831+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Image Zoom con MooTools</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ho trovato un interessante articolo per creare un effetto "&lt;span style="font-style: italic;"&gt;zoom&lt;/span&gt;": per intenderci, quello con una miniatura da cui si sceglie, con il mouse, l'area da ingrandire e l'immagine zoomata che riflette la scelta precedente.&lt;br /&gt;Nella figura sottostante è possibile vedere l'esempio concreto:&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/Sw5Q_M6x-YI/AAAAAAAAAQk/iLDu-IBqbEE/s1600/MooTools+1.2+Image+Zoom_1259229411337.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 278px; height: 320px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/Sw5Q_M6x-YI/AAAAAAAAAQk/iLDu-IBqbEE/s320/MooTools+1.2+Image+Zoom_1259229411337.png" alt="" id="BLOGGER_PHOTO_ID_5408349249248295298" border="0" /&gt;&lt;/a&gt;Il codice, che si basa sulla libreria MooTools, è scaricabile all'indirizzo: &lt;a href="http://www.php-help.ro/mootools-12-javascript-examples/mootools-12-javascript-image-zoom/"&gt;http://www.php-help.ro/mootools-12-javascript-examples/mootools-12-javascript-image-zoom/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6702693112818617843?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6702693112818617843/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6702693112818617843' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6702693112818617843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6702693112818617843'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/11/image-zoom-con-mootools.html' title='Image Zoom con MooTools'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/Sw5Q_M6x-YI/AAAAAAAAAQk/iLDu-IBqbEE/s72-c/MooTools+1.2+Image+Zoom_1259229411337.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-4899022581380836375</id><published>2009-11-13T16:52:00.003+01:00</published><updated>2009-11-13T16:56:31.988+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mondo'/><title type='text'>Touch MyTable sul Corriere di Rimini</title><content type='html'>Oggi ho avuto una piacevole scoperta leggendo il giornale...&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/Sv2A9agoiLI/AAAAAAAAAQc/QIdGdo5FAdA/s1600-h/mytable.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 234px; height: 400px;" src="http://1.bp.blogspot.com/_CxowvyW17kU/Sv2A9agoiLI/AAAAAAAAAQc/QIdGdo5FAdA/s400/mytable.jpg" alt="" id="BLOGGER_PHOTO_ID_5403616920491034802" border="0" /&gt;&lt;/a&gt;Tutta riminese la nuova rivoluzione nel mondo della ristorazione :-)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.touchmytable.com/"&gt;http://www.touchmytable.com&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4899022581380836375?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4899022581380836375/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4899022581380836375' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4899022581380836375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4899022581380836375'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/11/touch-mytable-sul-corriere-di-rimini.html' title='Touch MyTable sul Corriere di Rimini'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/Sv2A9agoiLI/AAAAAAAAAQc/QIdGdo5FAdA/s72-c/mytable.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3839572847153430460</id><published>2009-09-10T10:23:00.002+02:00</published><updated>2009-09-10T10:32:57.206+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Apt - informazioni e versione dei pacchetti</title><content type='html'>&lt;div style="text-align: justify;"&gt;Un tips veloce veloce: per visualizzare la versione di un determinato pacchetto che ci apprestiamo ad installare via apt-get (per sistemi debian-based, tra cui ubuntu) basta un semplice:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;apt-cache show nome-pacchetto&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ad esempio, per il pacchetto apache2 risulta:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;$ &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;apt-cache show apache2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;Package: apache2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Priority: optional&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Section: web&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Installed-Size: 100&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Maintainer: Ubuntu Core Developers &lt;/span&gt;&lt;/span&gt;&lt;ubuntu-devel-discuss@lists.ubuntu.com&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Original-Maintainer: Debian Apache Maintainers &lt;/span&gt;&lt;/span&gt;&lt;debian-apache@lists.debian.org&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Architecture: all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Version: 2.2.8-1ubuntu0.11&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Depends: apache2-mpm-worker (&gt;= 2.2.8-1ubuntu0.11) | apache2-mpm-prefork (&gt;= 2.2.8-1ubuntu0.11) | apache2-mpm-event (&gt;= 2.2.8-1ubuntu0.11)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Filename: pool/main/a/apache2/apache2_2.2.8-1ubuntu0.11_all.deb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Size: 45558&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;MD5sum: 987ba9930246a975044ff9424381808b&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;SHA1: 1a64fada82c96c165b0b5929a0bb1cf3d4b31c20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;SHA256: 1e48402e87d17cea64dfba4ecaf40c31c22e98a40f44d1771157de534af70f3d&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Description: Next generation, scalable, extendable web server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; Apache v2 is the next generation of the omnipresent Apache web server. This&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; version - a total rewrite - introduces many new improvements, such as&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; threading, a new API, IPv6 support, request/response filtering, and more.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Homepage: http://httpd.apache.org/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Bugs: https://bugs.launchpad.net/ubuntu/+filebug&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Origin: Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Task: lamp-server&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Package: apache2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Priority: optional&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Section: web&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Installed-Size: 100&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Maintainer: Ubuntu Core Developers &lt;/span&gt;&lt;/span&gt;&lt;ubuntu-devel-discuss@lists.ubuntu.com&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Original-Maintainer: Debian Apache Maintainers &lt;/span&gt;&lt;/span&gt;&lt;debian-apache@lists.debian.org&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Architecture: all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Version: 2.2.8-1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Depends: apache2-mpm-worker (&gt;= 2.2.8-1) | apache2-mpm-prefork (&gt;= 2.2.8-1) | apache2-mpm-event (&gt;= 2.2.8-1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Filename: pool/main/a/apache2/apache2_2.2.8-1_all.deb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Size: 43978&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;MD5sum: b844d8196f279fa7d46007b2e8e862a9&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;SHA1: d09cb634bec34627415098f3b79e7a7f186ed8f5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;SHA256: 62d235c87f7be5006099f803261fb6f7a77778e4601004f963c5e66695321bd9&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Description-it: Web server di prossima generazione, scalabile ed estendibile&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; Apache v2 è la nuova versione dell'onnipresente server web Apache. Questa versione, totalmente riscritta, introduce parecchi nuovi miglioramenti come il threading, una nuova API, supporto IPv6, filtro richiesta/risposta e molto altro.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Homepage: http://httpd.apache.org/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Bugs: mailto:ubuntu-users@lists.ubuntu.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Origin: Ubuntu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Task: lamp-server&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/debian-apache@lists.debian.org&gt;&lt;/ubuntu-devel-discuss@lists.ubuntu.com&gt;&lt;/debian-apache@lists.debian.org&gt;&lt;/ubuntu-devel-discuss@lists.ubuntu.com&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3839572847153430460?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3839572847153430460/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3839572847153430460' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3839572847153430460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3839572847153430460'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/09/apt-informazioni-e-versione-dei.html' title='Apt - informazioni e versione dei pacchetti'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-1357034215099339120</id><published>2009-08-14T08:34:00.006+02:00</published><updated>2009-08-14T10:15:19.815+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><title type='text'>Gimp - Immagini in bianco e nero con soggetti a colori</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ultimamente mi sollazzo spesso con Gimp. Di seguito alcune istruzioni su come modificare una foto (inizialmente a colori) con lo sfondo in bianco e nero, e il soggetto a colori.&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Aprite la foto (immagine da FreeDigitalPhotos.net).&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/SoUZuThjGiI/AAAAAAAAAQU/mDQ5kF73be4/s1600-h/photo_654_20080907.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://4.bp.blogspot.com/_CxowvyW17kU/SoUZuThjGiI/AAAAAAAAAQU/mDQ5kF73be4/s320/photo_654_20080907.jpg" alt="" id="BLOGGER_PHOTO_ID_5369726414014847522" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Nella finestra livelli, click con il destro e poi &lt;span style="font-style: italic;"&gt;duplica livello&lt;/span&gt;, che chiameremo BN.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Nel nuovo livello (sopra il vecchio livello) scegliere &lt;span style="font-style: italic;"&gt;Colore &lt;/span&gt;e poi &lt;span style="font-style: italic;"&gt;Desaturazione&lt;/span&gt;. Si può scegliere tra lucentezza, luminosità, media (io ho scelto la seconda). Cliccare con il destro sul livello "BN" e scegliere&lt;span style="font-style: italic;"&gt; aggiungi canale alpha&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Ora, con la gomma (&lt;span style="font-style: italic;"&gt;Maiusc + E&lt;/span&gt;) cominciate, con pazienza, a cancellare dal livello BN le parti che volete vengano a colori. All'inizio fatelo grossolanamente, poi più dettagliatamente nei bordi. Potete anche farvi aiutare dai vari strumenti di selezione di Gimp e giocare con lo zoom (&lt;span style="font-style: italic;"&gt;Visualizza - Zoom&lt;/span&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Il risultato (con più calma e pazienza viene chiaramente meglio, io l'ho fatto a casaccio!)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SoUWhwDEJwI/AAAAAAAAAQM/Q79yiufNqFE/s1600-h/FINALE.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SoUWhwDEJwI/AAAAAAAAAQM/Q79yiufNqFE/s320/FINALE.jpg" alt="" id="BLOGGER_PHOTO_ID_5369722899798435586" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1357034215099339120?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1357034215099339120/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1357034215099339120' title='11 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1357034215099339120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1357034215099339120'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/08/gimp-immagini-in-bianco-e-nero-con.html' title='Gimp - Immagini in bianco e nero con soggetti a colori'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SoUZuThjGiI/AAAAAAAAAQU/mDQ5kF73be4/s72-c/photo_654_20080907.jpg' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-2687930737296711055</id><published>2009-06-29T09:55:00.007+02:00</published><updated>2009-06-29T10:47:31.768+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='endian'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><title type='text'>Endian  - un firewall semplice e completo</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://www.endian.com/en/community/"&gt;&lt;img src="http://www.endian.com/fileadmin/community/EFW_community_180x50.png" alt="Endian Firewall Community" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ho avuto la necessità qualche giorno fa, di preparare un firewall perimetrale per un'azienda. A differenza però dell'approccio standard, il focus principale non era sulla sicurezza dall'esterno verso l'interno (che comunque è importante, come IDS eccetera) ma era sul filtrare il comportamento degli utenti verso internet.&lt;br /&gt;L'esperienza mi ha diretto verso le classiche IpCop / Smoothwall e compagnia bella, ma queste sono tutte non nativamente incentrate sul controllo dell'utente.&lt;br /&gt;Fortunatamente ho trovato &lt;a href="http://www.endian.com/it/"&gt;Endian Firewall&lt;/a&gt;, una creazione di una azienda italiana molto promettente. Di base il loro business si basa (a quanto ho capito) sulle appliance, ma distribuiscono una versione community della loro distribuzione Linux.&lt;br /&gt;Nativamente Endian ha una semplice gestione del traffico in uscita, permettendo con pochi click di gestire i servizi che si vogliono permettere (ad esempio deve essere possibile navigare su porta 80, 443 https eccetera).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/Skh8GvuZxHI/AAAAAAAAAP8/KJ9BM5UaEoA/s1600-h/endian1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 264px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/Skh8GvuZxHI/AAAAAAAAAP8/KJ9BM5UaEoA/s320/endian1.png" alt="" id="BLOGGER_PHOTO_ID_5352664612461986930" border="0" /&gt;&lt;/a&gt;Un altro fondamentale punto a favore è la presenza di una semplice interfaccia verso squid + dansguardian, il proxy http che analizza anche il contenuto delle pagine visitate e blocca il traffico a seconda di un determinato punteggio ottenuto dalla pagina stessa, calcolato sulla base di parole chiave specificate. E' inoltre possibile utilizzare blacklist e whitelist.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/Skh-d6cZFdI/AAAAAAAAAQE/1Usj2p7ULN4/s1600-h/endian2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 263px;" src="http://3.bp.blogspot.com/_CxowvyW17kU/Skh-d6cZFdI/AAAAAAAAAQE/1Usj2p7ULN4/s320/endian2.png" alt="" id="BLOGGER_PHOTO_ID_5352667209499481554" border="0" /&gt;&lt;/a&gt;Endian è anche proxy ftp, smtp eccetera. Ha anche il servizio antivirus (ClamAV), Snort per il rilevamento intrusioni, può fare da time server e da server DHCP.&lt;br /&gt;&lt;br /&gt;In poche parole è semplice e ha tutto quello di cui avevo bisogno.&lt;br /&gt;&lt;br /&gt;Consigliata!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-2687930737296711055?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2687930737296711055/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2687930737296711055' title='6 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2687930737296711055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2687930737296711055'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/06/endian-un-firewall-semplice-e-completo.html' title='Endian  - un firewall semplice e completo'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/Skh8GvuZxHI/AAAAAAAAAP8/KJ9BM5UaEoA/s72-c/endian1.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6639030511371141274</id><published>2009-06-07T21:47:00.002+02:00</published><updated>2009-06-07T21:57:24.533+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='giochi'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Duke Nukem 3D per Linux - Eduke32</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SiwbdoH-R-I/AAAAAAAAAP0/a7CGAiomF6c/s1600-h/duke0000.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SiwbdoH-R-I/AAAAAAAAAP0/a7CGAiomF6c/s320/duke0000.png" alt="" id="BLOGGER_PHOTO_ID_5344677053582952418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Un bel po' di tempo fa, con le lacrime agli occhi, ho finalmente rispolverato un mio vecchio amore... Duke Nukem 3D! Quel gioco mi aveva fatto impazzire (anche per le mappe che mi preparavo da solo con l'editor), assolutamente straordinario e rivoluzionario per l'epoca in cui è uscito.&lt;br /&gt;Vale la regola "non si butta via niente" quindi ecco spuntare, dopo il rilascio del codice sorgente aperto, &lt;span style="font-weight: bold;"&gt;eduke32&lt;/span&gt;, "&lt;span style="font-style: italic;"&gt;an open source Duke Nukem 3D port&lt;/span&gt;".&lt;br /&gt;L'installazione è semplice:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 0); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install eduke32&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Unica cosa da fare: avere il cd originale (oppure un qualsiasi file grp gratuito, ad esempio la versione shareware) contentente i file di gioco (di cui il più importante è senza dubbio duke3d.grp, che contiene le mappe, i suoni, le artwork eccetera del gioco!).&lt;br /&gt;Questi file di gioco devono essere copiati nella cartella .eduke32 sotto la home dell'utente che state usando, quindi ad esempio per me è:&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 0);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;/home/stefano/.eduke32&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;o semplicemente&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold; color: rgb(102, 51, 0);font-size:85%;" &gt;~/.eduke32&lt;/span&gt;&lt;br /&gt;Sempre in questa cartella andranno posizionati, opzionalmente, i file delle mappe che potrete scaricare da internet (cercare con google "duke nukem 3d map" per credere!).&lt;br /&gt;&lt;br /&gt;Buon divertimento!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6639030511371141274?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6639030511371141274/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6639030511371141274' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6639030511371141274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6639030511371141274'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/06/duke-nukem-3d-per-linux-eduke32.html' title='Duke Nukem 3D per Linux - Eduke32'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SiwbdoH-R-I/AAAAAAAAAP0/a7CGAiomF6c/s72-c/duke0000.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-968876912757255503</id><published>2009-04-25T19:11:00.003+02:00</published><updated>2009-04-25T19:27:09.983+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='live usb'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Qualsiasi distribuzione linux (o quasi) su live USB: Unetbootin</title><content type='html'>La diffusione sempre più capillare dei cosiddetti "netbook", computer minuscoli e senza lettore cd/dvd incorporato ha aumentato l'importanza delle distribuzioni live su penne usb.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;E' quindi necessario un tool semplice da usare che permetta senza tanti passaggi di installare un'immagine ISO su una penna usb avviabile.&lt;br /&gt;Questo tool si chiama &lt;span style="font-weight: bold;"&gt;Unetbootin&lt;/span&gt; (sia per linux che per windows), reperibile alla pagina &lt;a href="http://unetbootin.sourceforge.net/"&gt;http://unetbootin.sourceforge.net/&lt;/a&gt; e subito pronto all'uso. Io personalmente non ho scaricato il pacchetto deb per ubuntu, ma direttamente l'eseguibile (dal link "&lt;span style="font-style: italic;"&gt;Download for linux&lt;/span&gt;").&lt;br /&gt;Basta dare all'eseguibile i permessi necessari:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;chmod +x unetbootin-linux-323 &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 51, 51);font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-family: trebuchet ms; color: rgb(0, 0, 0);"&gt;(versione attuale)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ed eseguirlo&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;./unetbootin-linux-323&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Un accorgimento: il programma potrebbe lamentarsi della mancanza del pacchetto p7zip-full: in questo caso installatelo semplicemente con&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install p7zip-full&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SfNHAMvVihI/AAAAAAAAAPs/sE01diZNnPc/s1600-h/Schermata-UNetbootin.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 235px;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SfNHAMvVihI/AAAAAAAAAPs/sE01diZNnPc/s320/Schermata-UNetbootin.png" alt="" id="BLOGGER_PHOTO_ID_5328680852854770194" border="0" /&gt;&lt;/a&gt;E' possibile scegliere una delle distribuzioni presenti (li scaricherà automaticamente da solo) oppure specificare un'immagine iso avviabile. Si sceglie il device del disco (non utilizzate "&lt;span style="font-style: italic;"&gt;Mostrare tutti i dischi&lt;/span&gt;" per evitare di danneggiare erroneamente una partizione del vostro disco rigido), solitamente &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;/dev/sda&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;Premete OK...e il gioco è fatto :-)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-968876912757255503?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/968876912757255503/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=968876912757255503' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/968876912757255503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/968876912757255503'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/04/qualsiasi-distribuzione-linux-o-quasi.html' title='Qualsiasi distribuzione linux (o quasi) su live USB: Unetbootin'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SfNHAMvVihI/AAAAAAAAAPs/sE01diZNnPc/s72-c/Schermata-UNetbootin.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8841617072603342764</id><published>2009-03-23T20:15:00.003+01:00</published><updated>2009-03-23T20:29:15.172+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Corydoras</title><content type='html'>Un bel po' di tempo fa avevo raccontato delle mie disavventure con le thumbnails, le miniature delle foto che gnome automaticamente crea per una veloce visualizzazione delle anteprime.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Vi segnalo un ottimo programma (come scritto in un commento da un mio omonimo :-D, &lt;a href="http://stefanobianchini.blogspot.com/2007/09/gnome-thumbnails-miniature-obsolete.html"&gt;nel vecchio post&lt;/a&gt;), chiamato &lt;span style="font-weight: bold;"&gt;Corydoras&lt;/span&gt; per evitare di cancellare manualmente le miniature: &lt;a href="http://blog.karapetsas.com/index.php/post/58"&gt;http://blog.karapetsas.com/index.php/post/58&lt;/a&gt;&lt;br /&gt;Una volta scaricato il pacchetto debian e installato, il programma si posiziona sotto "Applicazioni" - "Altro".&lt;br /&gt;Corydoras mi ha fatto notare che ho la bellezza di 98 mega di miniature!!! Dopo il lifting (3541 thumbs eliminate) la dimensione è scesa a una quarantina di mega :-D&lt;br /&gt;Complimenti al developer, molto utile!! :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/ScfiIx18QzI/AAAAAAAAAPk/GQIr7XUrZOw/s1600-h/korydoras.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 302px; height: 320px;" src="http://1.bp.blogspot.com/_CxowvyW17kU/ScfiIx18QzI/AAAAAAAAAPk/GQIr7XUrZOw/s320/korydoras.png" alt="" id="BLOGGER_PHOTO_ID_5316466525580575538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8841617072603342764?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8841617072603342764/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8841617072603342764' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8841617072603342764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8841617072603342764'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/03/corydoras.html' title='Corydoras'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/ScfiIx18QzI/AAAAAAAAAPk/GQIr7XUrZOw/s72-c/korydoras.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5029884788232214074</id><published>2009-03-22T19:10:00.003+01:00</published><updated>2009-03-22T19:28:21.937+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Htop: un ottimo task manager</title><content type='html'>&lt;div style="text-align: justify;"&gt;Diciamo la verità: in Windows, il &lt;span style="font-style: italic;"&gt;task manager&lt;/span&gt; (quando appare e non è bloccato tutto il sistema) è fatto molto bene: processi, utilizzo CPU, utilizzo memoria eccetera, possibilità di terminare (alcuni, e solo se windows si è svegliato felice) processi magari critici.&lt;br /&gt;Mi sono imbattuto in un task manager simile, ma per linea di comando, su linux: il suo nome è &lt;span style="font-weight: bold;"&gt;htop&lt;/span&gt;.&lt;br /&gt;Htop è una ottima evoluzione del comando &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;top&lt;/span&gt;&lt;/span&gt; (eseguite il comando &lt;span style="font-weight: bold; color: rgb(102, 51, 0);font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;man top&lt;/span&gt;&lt;/span&gt; per sapere di cosa sto parlando), perché diciamo la verità: i comandi &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;top + pstree + kill &lt;/span&gt;&lt;/span&gt;(visualizzazione utilizzo risorse, visualizzazione processi ad albero, terminazione di processi) sono tra loro scollegati.&lt;br /&gt;Htop li racchiude tutti al suo interno: utilizzando i tasti funzione potrete accedere alle varie modalità (ad esempio &lt;span style="font-style: italic;"&gt;F5&lt;/span&gt; per la visualizzazione ad albero, &lt;span style="font-style: italic;"&gt;F9&lt;/span&gt; per killare un processo).&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/ScaCo0MmVjI/AAAAAAAAAPc/2CumOYMAExs/s1600-h/htop.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 178px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/ScaCo0MmVjI/AAAAAAAAAPc/2CumOYMAExs/s320/htop.png" alt="" id="BLOGGER_PHOTO_ID_5316080047875315250" border="0" /&gt;&lt;/a&gt;Htop è facilmente installabile con il solito apt:&lt;br /&gt;&lt;span style="color: rgb(102, 51, 0); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install htop&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5029884788232214074?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5029884788232214074/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5029884788232214074' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5029884788232214074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5029884788232214074'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/03/htop-un-ottimo-task-manager.html' title='Htop: un ottimo task manager'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/ScaCo0MmVjI/AAAAAAAAAPc/2CumOYMAExs/s72-c/htop.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6368418092313097041</id><published>2009-02-26T17:58:00.003+01:00</published><updated>2009-02-26T18:03:43.913+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Console che appare dall'alto per Gnome: Tilda</title><content type='html'>&lt;div style="text-align: justify;"&gt;Un po' di tempo fa avevo parlato di &lt;a href="http://stefanobianchini.blogspot.com/2008/04/yakuake-una-console-dallalto.html"&gt;Yakuake&lt;/a&gt;, una console "Quake style" che appariva dall'alto, nativa per KDE.&lt;br /&gt;Cercando in giro ho trovato per Gnome la splendida &lt;span style="font-style: italic; font-weight: bold;"&gt;Tilda&lt;/span&gt;, una console che appare dall'alto e che è facilmente configurabile :-)&lt;br /&gt;Ma soprattutto, funziona nativamente la trasparenza :-D&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Si può installare con il solito&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 102, 51);font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install tilda&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;P.S. eseguendola per la prima volta (ALT+F2 e scrivere Tilda) comparirà una finestrella per la configurazione del programma...non dimenticatevi la scorciatoia che imposterete (io ho messo F12), e dimensionate la finestra come più vi aggrada!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6368418092313097041?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6368418092313097041/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6368418092313097041' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6368418092313097041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6368418092313097041'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/02/console-che-appare-dallalto-per-gnome.html' title='Console che appare dall&apos;alto per Gnome: Tilda'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-5236841826778804543</id><published>2009-01-26T15:39:00.003+01:00</published><updated>2009-01-27T09:30:41.285+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Trasformare un file video AVI in un file FLV</title><content type='html'>Per chi ha Linux...soluzione pratica, veloce e gratuita: installare ed utilizzare &lt;span style="font-weight: bold;"&gt;ffmpeg&lt;/span&gt;, un vero coltellino svizzero per le conversioni video.&lt;br /&gt;Su Ubuntu si installa con il solito&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install ffmpeg&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E si trasforma il file voluto con:&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51);font-size:85%;" &gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i fileoriginale.avi fileoutput.flv&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Capisce da solo i formati...più comodo di così...&lt;br /&gt;&lt;br /&gt;Edit: come vedete nel commento che segue, Vittorio mi consiglia Memcoder in quanto strumento più potente che permette oltre alla conversione di eseguire trasformazioni sui filmati. Riguardo a questo potete trovare un'ottima guida a questo indirizzo: &lt;a href="http://www.vittoromo.it/blog/convertire-e-ruotare-filmati-usando-mencoder"&gt;http://www.vittoromo.it/blog/convertire-e-ruotare-filmati-usando-mencoder&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5236841826778804543?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5236841826778804543/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5236841826778804543' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5236841826778804543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5236841826778804543'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2009/01/trasformare-un-file-video-avi-in-un.html' title='Trasformare un file video AVI in un file FLV'/><author><name>Stefano Bianchini</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6583087143062711857</id><published>2008-11-04T19:30:00.017+01:00</published><updated>2008-11-04T19:58:47.733+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phishing'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Analisi di un tentativo di phishing</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oggi ho trovato una delle tante mail di &lt;span style="font-style: italic;"&gt;phishing&lt;/span&gt; nella mia casella di posta. La novità è che finalmente cliccando sul link fasullo, il sito ha funzionato! Questo significa che non è ancora stato segnalato. Notate la "è" accentata trasformata in un carattere russo.&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SRCV2rr-_0I/AAAAAAAAAKo/QFteNmDkJME/s1600-h/mail.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 253px;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SRCV2rr-_0I/AAAAAAAAAKo/QFteNmDkJME/s320/mail.png" alt="" id="BLOGGER_PHOTO_ID_5264872731068792642" border="0" /&gt;&lt;/a&gt;In questo modo ho potuto analizzare alcune tecniche utilizzate.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Il link è al sito &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;http://www.hastyawardsdirect.com/bancoposta/&lt;/span&gt;&lt;/span&gt;. Hastyawardsdirect.com è uno strano sito...&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SRCY5hispeI/AAAAAAAAAK4/Aid_Bhtsvts/s1600-h/Medals,+Plaques,+Trophies,+Pins,+Ribbons,+Promotional+Products+-+Hasty+Awards%21_1225822722764.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 124px;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SRCY5hispeI/AAAAAAAAAK4/Aid_Bhtsvts/s200/Medals,+Plaques,+Trophies,+Pins,+Ribbons,+Promotional+Products+-+Hasty+Awards%21_1225822722764.png" alt="" id="BLOGGER_PHOTO_ID_5264876078419977698" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;si viene reindirizzati a &lt;span style="font-family: courier new;font-size:85%;" &gt;http://sitoposteitaliane232.freehostia.com/bancoposta/&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SRCacw2ExcI/AAAAAAAAALg/gdeKaZNNiGk/s1600-h/Schermata.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 243px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SRCacw2ExcI/AAAAAAAAALg/gdeKaZNNiGk/s320/Schermata.png" alt="" id="BLOGGER_PHOTO_ID_5264877783334831554" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Qualsiasi cosa si inserisca, esce una pagina di errore&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SRCZZV_a2pI/AAAAAAAAALQ/zaQb5erRAtk/s1600-h/Poste+Italiane+-+PostePay+-+Pagina+di+errore_1225823083906.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 132px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SRCZZV_a2pI/AAAAAAAAALQ/zaQb5erRAtk/s320/Poste+Italiane+-+PostePay+-+Pagina+di+errore_1225823083906.png" alt="" id="BLOGGER_PHOTO_ID_5264876625075034770" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Il sito &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;freehostia.com&lt;/span&gt;&lt;/span&gt; è un portale di una webfarm: sicuramente sono all'oscuro di tutto, quindi ecco un bel "&lt;span style="font-style: italic;"&gt;abuse reporting&lt;/span&gt;"&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SRCZ5AbPx3I/AAAAAAAAALY/OErciOJs6GA/s1600-h/Contact+Freehostia.com+Sales+Team_1225822993225.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 198px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SRCZ5AbPx3I/AAAAAAAAALY/OErciOJs6GA/s320/Contact+Freehostia.com+Sales+Team_1225822993225.png" alt="" id="BLOGGER_PHOTO_ID_5264877169041983346" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Che dire...fatto bene!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6583087143062711857?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6583087143062711857/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6583087143062711857' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6583087143062711857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6583087143062711857'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/11/analisi-di-un-tentativo-di-phishing.html' title='Analisi di un tentativo di phishing'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SRCV2rr-_0I/AAAAAAAAAKo/QFteNmDkJME/s72-c/mail.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8313006541667254302</id><published>2008-10-31T14:08:00.006+01:00</published><updated>2008-10-31T14:16:03.550+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='dusttheme'/><title type='text'>Provare il nuovo tema di Ubuntu 8.10 - DustTheme</title><content type='html'>Dico la verità: non ho assolutamente voglia di aggiornare il mio sistema di casa alla nuova Ubuntu 8.10. Un po' perchè la 8.04 è LTS (&lt;span style="font-style: italic;"&gt;Long Time Support&lt;/span&gt;), un po' perchè sono pigro. Resta valido che nuove installazioni su computer diversi verranno eseguite utilizzando la nuova versione :-D&lt;br /&gt;&lt;br /&gt;Se però volessi... usare il nuovo tema della 8.10... quello scuro (&lt;span style="font-style: italic;"&gt;Dark&lt;/span&gt;), che è nascosto tra i temi preinstallati? Come faccio ad installarlo?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Risposta&lt;/span&gt;: vado su &lt;a href="https://wiki.ubuntu.com/Artwork/Incoming/DustTheme"&gt;https://wiki.ubuntu.com/Artwork/Incoming/DustTheme&lt;/a&gt; e  scarico il tema per Gnome e quello per Firefox. Volendo ne esiste anche una versione in colori più tenui (&lt;a href="https://wiki.ubuntu.com/Artwork/Incoming/DustTheme?action=AttachFile&amp;amp;do=view&amp;amp;target=Dust-extras-0.2.tar.gz"&gt;scaricabile qui&lt;/a&gt;). Bello? Giudicate voi!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SQsExh-micI/AAAAAAAAAKg/tZAQbgYhkrY/s1600-h/dust-0917-firefox.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 104px;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SQsExh-micI/AAAAAAAAAKg/tZAQbgYhkrY/s400/dust-0917-firefox.jpg" alt="" id="BLOGGER_PHOTO_ID_5263305838493600194" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8313006541667254302?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8313006541667254302/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8313006541667254302' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8313006541667254302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8313006541667254302'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/10/provare-il-nuovo-tema-di-ubuntu-810.html' title='Provare il nuovo tema di Ubuntu 8.10 - DustTheme'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/SQsExh-micI/AAAAAAAAAKg/tZAQbgYhkrY/s72-c/dust-0917-firefox.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7940065501738831354</id><published>2008-10-26T10:10:00.002+01:00</published><updated>2008-10-26T10:13:02.679+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Che versione di Ubuntu uso?</title><content type='html'>Tutti sanno (spero) come ottenere la versione del kernel Linux in uso:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 0); font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family: courier new;"&gt;uname -a&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Quello che non sapevo fino a poco tempo fa era la procedura per visualizzare la versione di &lt;span style="font-weight: bold;"&gt;Ubuntu&lt;/span&gt; installata nel sistema:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 51, 0); font-weight: bold;font-size:85%;" &gt;cat /etc/issue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Il mio sistema per ora mi comunica "Ubuntu 8.04.1" :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7940065501738831354?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7940065501738831354/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7940065501738831354' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7940065501738831354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7940065501738831354'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/10/che-versione-di-ubuntu-uso.html' title='Che versione di Ubuntu uso?'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-2553936175107658852</id><published>2008-10-23T17:22:00.006+02:00</published><updated>2008-10-24T08:45:14.982+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Amministrare Samba con poco sforzo</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ho scoperto proprio ieri un simpatico strumento per la gestione delle cartelle condivise di &lt;span style="font-style: italic;"&gt;Samba&lt;/span&gt;... è molto più facile ed intuitivo del tool inglobato in Ubuntu e molto più veloce di editare il file smb.conf a mano!&lt;br /&gt;&lt;/div&gt;Il pacchetto si chiama &lt;span style="font-weight: bold;"&gt;system-config-samba&lt;/span&gt; ed è installabile con:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 0);"&gt;sudo apt-get install system-config-samba python-glade2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Per eseguirlo è necessario avere i diritti di amministratore, digitando sudo system-config-samba.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SQCXPyuFJtI/AAAAAAAAAKQ/YajlRh-Fc1g/s1600-h/prova.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SQCXPyuFJtI/AAAAAAAAAKQ/YajlRh-Fc1g/s320/prova.jpg" alt="" id="BLOGGER_PHOTO_ID_5260370662337619666" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-2553936175107658852?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2553936175107658852/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2553936175107658852' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2553936175107658852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2553936175107658852'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/10/amministrare-samba-con-poco-sforzo.html' title='Amministrare Samba con poco sforzo'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SQCXPyuFJtI/AAAAAAAAAKQ/YajlRh-Fc1g/s72-c/prova.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-4905587483235977395</id><published>2008-10-13T12:47:00.003+02:00</published><updated>2008-10-13T12:50:31.983+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='easter eggs'/><category scheme='http://www.blogger.com/atom/ns#' term='robots'/><title type='text'>About:robots - Firefox 3 Easter Egg</title><content type='html'>Per una mia curiosità ho esplorato la cartella chrome di firefox contenente i file jar necessari al suo funzionamento...ho scoperto che sotto toolkit.jar ci sono i file template che visualizza in caso di errore (tipo sito non trovato) e...&lt;br /&gt;una pagina sospetta... raggiungibile anche da about:robots..&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SPMnylj2LRI/AAAAAAAAAKI/trA7PNDMQ3g/s1600-h/Gort%21+Klaatu+barada+nikto%21_1223889813140.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SPMnylj2LRI/AAAAAAAAAKI/trA7PNDMQ3g/s320/Gort%21+Klaatu+barada+nikto%21_1223889813140.png" alt="" id="BLOGGER_PHOTO_ID_5256588940100906258" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4905587483235977395?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4905587483235977395/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4905587483235977395' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4905587483235977395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4905587483235977395'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/10/aboutrobots-firefox-3-easter-egg.html' title='About:robots - Firefox 3 Easter Egg'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/SPMnylj2LRI/AAAAAAAAAKI/trA7PNDMQ3g/s72-c/Gort%21+Klaatu+barada+nikto%21_1223889813140.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-9062286949758315571</id><published>2008-10-10T16:45:00.010+02:00</published><updated>2008-10-10T17:04:31.347+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='freenas'/><title type='text'>FreeNAS: una soluzione open per un file server</title><content type='html'>&lt;div style="text-align: justify;"&gt;In uno dei convegni che seguo per lavoro, precisamente durante il break per uno spuntino (c'era un bel buffet, non c'è che dire) ho intercettato una conversazione tra due personaggi che parlavano di NAS (Network Attached Storage) e in particolare alle mie orecchie è giunta la parola "&lt;span style="font-style: italic;"&gt;FreeNAS&lt;/span&gt;".&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SO9uThj26cI/AAAAAAAAAKA/i3hB0x_grpE/s1600-h/freenas.local+-+FreeNAS+webGUI_1223647105317.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SO9uThj26cI/AAAAAAAAAKA/i3hB0x_grpE/s320/freenas.local+-+FreeNAS+webGUI_1223647105317.png" alt="" id="BLOGGER_PHOTO_ID_5255540571869997506" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Incuriosito e aiutato da google, ho scovato questa famigerata &lt;span style="font-weight: bold;"&gt;FreeNAS &lt;/span&gt;all'indirizzo &lt;a href="http://www.freenas.org/"&gt;http://www.freenas.org&lt;/a&gt; e ho scoperto trattarsi di una distribuzione FreeBSD based apposita per la condivisione di files e tanto altro ancora.&lt;br /&gt;&lt;/div&gt;Cito il sito:&lt;br /&gt;&lt;div  style="text-align: justify;font-family:courier new;"&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;FreeNAS è un server NAS libero  che supporta i protocolli CIFS (samba), FTP, NFS, AFP, RSYNC, iSCSI, S.M.A.R.T., l'autenticazione di utenti locali, Software RAID (0,1,5). La sua interfaccia di configurazione è completamente WEB. FreeNAS occupa meno di 32MB dopo l'installazione su Compact Flash, hard disk o chiavetta USB.&lt;br /&gt;La mini-distribuzione FreeBSD (grazie alla quale FreeNAS funziona), l'interfaccia Web, gli scripts PHP e la documentazione sono basati su &lt;a href="http://www.m0n0.ch/wall/"&gt;M0n0wall&lt;/a&gt;.&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ho quindi immediatamente scaricato l'immagine ISO (live) e provato. L'interfaccia Web è molto curata anche se all'inizio ci si deve un po' ambientare e capire i vari passaggi: aggiungere un disco (di default non monta nulla), assegnargli un mount point, abilitare una condivisione (io ho usato SMB) e il gioco è fatto.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SO9s0VbPZQI/AAAAAAAAAJo/KCMHZpBe7YU/s1600-h/freenas.local+-+Disks-Management_1223647545710.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SO9s0VbPZQI/AAAAAAAAAJo/KCMHZpBe7YU/s320/freenas.local+-+Disks-Management_1223647545710.png" alt="" id="BLOGGER_PHOTO_ID_5255538936525055234" border="0" /&gt;&lt;/a&gt;FreeNAS, come già detto, supporta vari servizi standard (RSYNC, SMB, NFS) ma supporta anche iTunes / DAAP, BitTorrent e Dynamic DNS. Una schermata riepilogativa mostra i servizi attualmente avviati:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SO9tcIg_IOI/AAAAAAAAAJw/QyScEdo7gqE/s1600-h/freenas.local+-+Services-Status_1223647593720.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SO9tcIg_IOI/AAAAAAAAAJw/QyScEdo7gqE/s320/freenas.local+-+Services-Status_1223647593720.png" alt="" id="BLOGGER_PHOTO_ID_5255539620254261474" border="0" /&gt;&lt;/a&gt;Comoda anche la procedura di spegnimento programmato, che permette di &lt;span style="font-style: italic;"&gt;schedulare &lt;/span&gt;lo spegnimento del server con molta facilità.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SO9tz43cDeI/AAAAAAAAAJ4/fpnM6xyWVk4/s1600-h/freenas.local+-+Sistema-Spegnimento-Programmato_1223647780723.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SO9tz43cDeI/AAAAAAAAAJ4/fpnM6xyWVk4/s320/freenas.local+-+Sistema-Spegnimento-Programmato_1223647780723.png" alt="" id="BLOGGER_PHOTO_ID_5255540028370324962" border="0" /&gt;&lt;/a&gt;Una piacevole sorpresa: sempre da interfaccia Web, oltre a gestire tutti i mount point dei dischi (anche raid) è possibile formattarli secondo i file system più comuni.&lt;br /&gt;Il tutto, nella breve prova che ho fatto, ha funzionato a meraviglia e con una alta libertà di configurazione. Non dimentichiamo poi che il cuore, altamente stabile, è FreeBSD.&lt;br /&gt;&lt;br /&gt;Secondo voi è interessante? Fatemelo sapere!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-9062286949758315571?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/9062286949758315571/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=9062286949758315571' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/9062286949758315571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/9062286949758315571'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/10/freenas-una-soluzione-open-per-un-file.html' title='FreeNAS: una soluzione open per un file server'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/SO9uThj26cI/AAAAAAAAAKA/i3hB0x_grpE/s72-c/freenas.local+-+FreeNAS+webGUI_1223647105317.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6211390400720884664</id><published>2008-10-03T10:41:00.005+02:00</published><updated>2008-10-03T10:44:57.914+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Aspettando in religioso silenzio...</title><content type='html'>&lt;br&gt;&lt;br&gt;&lt;div align="center"&gt;&lt;script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display.js"&gt;&lt;/script&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6211390400720884664?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6211390400720884664/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6211390400720884664' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6211390400720884664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6211390400720884664'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/10/aspettando-in-religioso-silenzio.html' title='Aspettando in religioso silenzio...'/><author><name>Stefano Bianchini</name><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><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-238555055246349837</id><published>2008-08-11T10:30:00.004+02:00</published><updated>2008-08-11T10:38:36.255+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Firefox: abilitare il backspace come scorciatoia per "Indietro"</title><content type='html'>&lt;div style="text-align: justify;"&gt;Una delle cose più utili di firefox su windows è che il tasto "Backspace" è una scorciatoia per tornare indietro nella cronologia. Su Linux non è abilitato di default: la cosa bella però è che in 3 passi si riesce a configurare...&lt;br /&gt;Basta andare sulla barra degli indirizzi e digitare&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;about:config&lt;/span&gt;&lt;br /&gt;Nel filtro si digita "&lt;span style="font-family: courier new;"&gt;backspace&lt;/span&gt;" e dovrebbe uscire una voce "&lt;span style="font-family: courier new;"&gt;browser.backspace_action&lt;/span&gt;". Settate il valore di questa voce a "&lt;span style="font-family: courier new;"&gt;0&lt;/span&gt;" (zero).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Fatto :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-238555055246349837?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/238555055246349837/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=238555055246349837' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/238555055246349837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/238555055246349837'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/08/firefox-abilitare-il-backspace-come.html' title='Firefox: abilitare il backspace come scorciatoia per &quot;Indietro&quot;'/><author><name>Stefano Bianchini</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3007967313284242903</id><published>2008-08-08T17:38:00.007+02:00</published><updated>2008-08-08T17:56:02.279+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videosorveglianza'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Videosorveglianza con Linux - Zoneminder</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SJxryLeDrhI/AAAAAAAAAJY/soxr0Uj_d1A/s1600-h/zmconsole.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SJxryLeDrhI/AAAAAAAAAJY/soxr0Uj_d1A/s320/zmconsole.png" alt="" id="BLOGGER_PHOTO_ID_5232175376914165266" border="0" /&gt;&lt;/a&gt;Alcune istruzioni per installare &lt;a href="http://www.zoneminder.com/"&gt;Zoneminder&lt;/a&gt;, un ottimo software per la videosorveglianza. Supporta molti tipi di videocamere / webcam, è in grado di riconoscere il movimento in un flusso video e avvisare tramite mail se si sono verificati "eventi" anomali.&lt;br /&gt;L'installazione sotto Ubuntu è come al solito semplice (necessita di apache2 installato):&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install zoneminder&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Ora carichiamo la configurazione dell'interfaccia web di zoneminder in apache2:&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aggiungiamo l'utente www-data (quello di apache) al gruppo video, in modo che possa raggiungere i device speciali /dev/videoX&lt;br /&gt;&lt;/div&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo adduser www-data video&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Impostiamo la cartella temporanea di zoneminder di proprietà dell'utente www-data&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo chown www-data.www-data /usr/share/zoneminder/temp&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Riavviamo i servizi di zoneminder e di apache2&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo /etc/init.d/zoneminder restart&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;sudo /etc/init.d/apache2 restart&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Ora basta andare sul browser all'indirizzo http://localhost/zm/&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I risultati, dopo aver inserito la mia webcam Usb come "Monitor" (in modo che sia un semplice flusso video non controllato) , sono visibili negli screenshots seguenti.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SJxr5Do6K-I/AAAAAAAAAJg/7WbAD9qvnEg/s1600-h/zmdevice.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SJxr5Do6K-I/AAAAAAAAAJg/7WbAD9qvnEg/s320/zmdevice.png" alt="" id="BLOGGER_PHOTO_ID_5232175495071280098" border="0" /&gt;&lt;/a&gt;Ricordo che è possibile impostare la webcam come "modect" in modo che generi eventi di allarme se riconosce del movimento nel flusso video.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/SJxrqm7jXEI/AAAAAAAAAJQ/i2B3V7gcRag/s1600-h/zmvideo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/SJxrqm7jXEI/AAAAAAAAAJQ/i2B3V7gcRag/s320/zmvideo.png" alt="" id="BLOGGER_PHOTO_ID_5232175246846680130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3007967313284242903?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3007967313284242903/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3007967313284242903' title='6 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3007967313284242903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3007967313284242903'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/08/videosorveglianza-con-linux-zoneminder.html' title='Videosorveglianza con Linux - Zoneminder'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/SJxryLeDrhI/AAAAAAAAAJY/soxr0Uj_d1A/s72-c/zmconsole.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-4670880087294805729</id><published>2008-07-31T12:37:00.007+02:00</published><updated>2008-07-31T13:04:49.110+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bcompiler'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Codice Php compilato con Bcompiler</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://pecl.php.net/gifs/pecl-power.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 109px; height: 38px;" src="http://pecl.php.net/gifs/pecl-power.png" alt="" border="0" /&gt;&lt;/a&gt;Oggi ho scoperto &lt;a href="http://pecl.php.net/package/bcompiler"&gt;bcompiler&lt;/a&gt; leggendo una guida a &lt;a href="http://php.html.it/articoli/leggi/890/proteggere-il-codice-php-con-bcompiler/"&gt;questo indirizzo&lt;/a&gt;. E' un modulo per Php facente parte della raccolta &lt;a href="http://pecl.php.net/"&gt;PECL&lt;/a&gt; (Php Extension Community Library) che permette la codifica di script Php, molto utile se non si vuole rendere pubblico il codice di uno script (nel caso di applicazioni commerciali). Lo svantaggio (o il vantaggio) è che è possibile compilare solo singole classi e librerie di funzioni (quindi file con istruzioni singole non saranno compilati).&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Questo è scomodo (non esiste un comando "compila tutta la cartella") ma permette di suddividere tra pezzi di codice magari di pubblico utilizzo (tutto ciò che non viene compilato) da, magari, una classe con codice compilato (in modo da non rendere visibile il sorgente di questa pagina).&lt;br /&gt;&lt;br /&gt;L'installazione su macchine Linux è semplicissima:&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo pecl install bcompiler-0.8&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Se visualizza un errore relativo a "bzip2" basta installare le librerie developer del bzip2 con:&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install libbz2-dev&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Non dimentichiamoci di aggiungere al file&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; /etc/php5/apache2/php.ini&lt;/span&gt;&lt;/span&gt; la seguente riga:&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;extension=bcompiler.so&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;e di riavviare apache2&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); background: rgb(255, 255, 204) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;sudo /etc/init.d/apache2 restart&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Guardando ora nelle phpinfo() sbucherà come per magia una nuova estensione :-D&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4670880087294805729?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4670880087294805729/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4670880087294805729' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4670880087294805729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4670880087294805729'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/07/codice-php-compilato-con-bcompiler.html' title='Codice Php compilato con Bcompiler'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-6608578776501952920</id><published>2008-07-09T16:07:00.002+02:00</published><updated>2008-07-13T21:35:08.409+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Incoming...</title><content type='html'>UPDATE: per un problema di corriere il netbook non era ancora arrivato...quindi l'ho prenotato per averlo sicuramente tra martedì e venerdì!&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0Ux_zBaTfnM&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0Ux_zBaTfnM&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;13 Luglio 2008!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6608578776501952920?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6608578776501952920/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6608578776501952920' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6608578776501952920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6608578776501952920'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/07/incoming.html' title='Incoming...'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-5845645330729797425</id><published>2008-07-08T19:38:00.003+02:00</published><updated>2008-07-08T19:43:03.794+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='aggiornamento'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>MIgrazione quasi indolore</title><content type='html'>Come preannunciato, ho formattato tutto e installato Ubuntu 8.04 da zero: in più, ho usato l'accortezza di tenermi una partizione /home a parte, così da non dovere sempre copiare la home directory come ho fatto questa volta.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La migrazione è stata indolore: una volta reinstallati i programmi, tutte le configurazioni erano già al loro posto (grazie Linux).&lt;br /&gt;L'unica cosa è che il tar.gz che conteneva le configurazioni di aMule era corrotto...porca vacca lì purtroppo ho perso i dati.&lt;br /&gt;Però ora funziona tutto: guardate come va Compiz!!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_CxowvyW17kU/SHOm4k2ndAI/AAAAAAAAAJA/qudbVl6x97M/s1600-h/beryl.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_CxowvyW17kU/SHOm4k2ndAI/AAAAAAAAAJA/qudbVl6x97M/s320/beryl.png" alt="" id="BLOGGER_PHOTO_ID_5220699883948176386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5845645330729797425?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5845645330729797425/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5845645330729797425' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5845645330729797425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5845645330729797425'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/07/migrazione-quasi-indolore.html' title='MIgrazione quasi indolore'/><author><name>Stefano Bianchini</name><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://bp2.blogger.com/_CxowvyW17kU/SHOm4k2ndAI/AAAAAAAAAJA/qudbVl6x97M/s72-c/beryl.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8378094743150632297</id><published>2008-06-30T13:59:00.006+02:00</published><updated>2008-06-30T14:06:41.359+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='aggiornamento'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Riparto da zero?</title><content type='html'>Non potevo credere che la nuova &lt;span style="font-style: italic;font-family:verdana;" &gt;Ubuntu 8.04&lt;/span&gt; non funzionasse a dovere.&lt;br /&gt;&lt;br /&gt;Se il team di sviluppo l'ha rilasciata, deve funzionare al 99%.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Eppure, dopo l'aggiornamento dalla 7.10, non andava più nulla della scheda grafica. Dopo il riavvio alla fine dell'update i servizi compiz erano disabilitati (vabbè, perdita solo di "visuale"); poi ho compreso che TUTTI i programmi che richiedono l'abilitazione 3d (OpenGL) NON FUNZIONANO PIU'. Crashano. Ho provato con i restricted drivers: niente. Ho provato con Envy: NULLA. Anche qualche libreria Python dà problemi...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Incredulo, ho pensato di scaricare la 8.04 e provarla live sul mio computer. Ci credete? &lt;span style="font-style: italic;"&gt;Funziona tutto perfettamente!!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ed ora la domanda fatidica:&lt;span style="font-weight: bold;"&gt; formatto tutto e reinstallo da zero Ubuntu 8.04?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(51, 102, 255);"&gt;Consigli?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8378094743150632297?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8378094743150632297/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8378094743150632297' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8378094743150632297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8378094743150632297'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/riparto-da-zero.html' title='Riparto da zero?'/><author><name>Stefano Bianchini</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-526408392852802067</id><published>2008-06-28T09:53:00.006+02:00</published><updated>2008-06-29T21:11:42.082+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Smontare le penne usb trascinandole sul cestino</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;AGGIORNAMENTO&lt;/span&gt;: sembra che me la stiano bocciando...era una idea così assurda?&lt;br /&gt;&lt;br /&gt;Su &lt;span style="font-weight: bold;"&gt;Ubuntu Brainstorm&lt;/span&gt; (sito appositamente creato per raccogliere le idee della comunità ubuntu) ho postato una mia idea per fare l'unmount delle penne usb: come (all'incirca) su Mac OSX, trascinando l'icona del device sul cestino.&lt;br /&gt;&lt;/div&gt;Quindi:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Andate regolarmente su &lt;a href="http://brainstorm.ubuntu.com/"&gt;http://brainstorm.ubuntu.com/&lt;/a&gt; per votare le idee;&lt;/li&gt;&lt;li&gt;Aiutatemi a promuovere la mia idea votandola!&lt;/li&gt;&lt;/ol&gt;Per votarla:&lt;br /&gt;&lt;a href="http://brainstorm.ubuntu.com/idea/10408/"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://brainstorm.ubuntu.com/idea/10408/"&gt;&lt;img src="http://brainstorm.ubuntu.com/idea/10408/image/1/" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-526408392852802067?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/526408392852802067/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=526408392852802067' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/526408392852802067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/526408392852802067'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/smontare-le-penne-usb-trascinandole-sul.html' title='Smontare le penne usb trascinandole sul cestino'/><author><name>Stefano Bianchini</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6080857392572477880</id><published>2008-06-27T18:30:00.002+02:00</published><updated>2008-06-27T18:35:57.989+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Qualche tips in allegria</title><content type='html'>Due tips al volo:&lt;br /&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;con&lt;span style="color: rgb(153, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);font-family:courier new;" &gt;sudo apt-get install sl&lt;/span&gt; ogni qual volta sbaglierete a scrivere &lt;span style="font-family:courier new;"&gt;ls&lt;/span&gt; verrà fuori un simpatico trenino (basta digitare&lt;span style="font-family:courier new;"&gt; sl&lt;/span&gt;) &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/SGUWwEvMUUI/AAAAAAAAAI4/0MohmDGxeJY/s1600-h/sl.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/SGUWwEvMUUI/AAAAAAAAAI4/0MohmDGxeJY/s320/sl.png" alt="" id="BLOGGER_PHOTO_ID_5216600758539800898" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Se trascinate un file tenendo premuto il pulsante centrale del mouse (la rotellina) sbucherà fuori un menù simile a quello che viene visualizzato su windows trascinando con il tasto destro. Se il file è una immagine e viene trascinato, tenendo premuta la rotellina, sul desktop, tra le opzioni apparirà anche "Imposta come sfondo".&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6080857392572477880?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6080857392572477880/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6080857392572477880' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6080857392572477880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6080857392572477880'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/qualche-tips-in-allegria.html' title='Qualche tips in allegria'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SGUWwEvMUUI/AAAAAAAAAI4/0MohmDGxeJY/s72-c/sl.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6535092744491055815</id><published>2008-06-24T19:16:00.004+02:00</published><updated>2008-06-24T19:19:53.851+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Un blog con la voce!</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SGEsacwYDYI/AAAAAAAAAIw/ALvWlOu1Odo/s1600-h/voice.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SGEsacwYDYI/AAAAAAAAAIw/ALvWlOu1Odo/s400/voice.png" alt="" id="BLOGGER_PHOTO_ID_5215498676379061634" border="0" /&gt;&lt;/a&gt;Da oggi ho deciso di adottare vozMe, un servizio di sintesi vocale appositamente creato per i blog. Il sito, se interessa, è &lt;a href="http://vozme.com/"&gt;http://vozme.com/&lt;/a&gt;.&lt;br /&gt;Alla pagina &lt;a href="http://vozme.com/webmasters.php?lang=it"&gt;http://vozme.com/webmasters.php?lang=it&lt;/a&gt; troverete invece i servizi per i webmaster (una serie di script Javascript già pronti per l'uso).&lt;br /&gt;Chissà se serve anche per&lt;span style="font-weight: bold;"&gt; l'accessibilità&lt;/span&gt;? Speriamo che i non vedenti siano aiutati da questo strumento :-)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6535092744491055815?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6535092744491055815/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6535092744491055815' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6535092744491055815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6535092744491055815'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/un-blog-con-la-voce.html' title='Un blog con la voce!'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/SGEsacwYDYI/AAAAAAAAAIw/ALvWlOu1Odo/s72-c/voice.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-2478142777911740188</id><published>2008-06-09T18:48:00.007+02:00</published><updated>2008-06-09T19:07:15.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='editor'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Editor Php per Linux: straordinario Eclipse</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SE1i9ejugNI/AAAAAAAAAIo/xMWDkZfl3sE/s1600-h/Schermata-PHP+-+saladino.php+-+Eclipse+SDK+.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SE1i9ejugNI/AAAAAAAAAIo/xMWDkZfl3sE/s320/Schermata-PHP+-+saladino.php+-+Eclipse+SDK+.png" alt="" id="BLOGGER_PHOTO_ID_5209929152251986130" border="0" /&gt;&lt;/a&gt;Fondamentalmente io cerco di fare sempre le cose con gli strumenti più semplici. E' sempre stato così: quando c'erano gli editor ultrasboroni HTML io usavo il blocco note, perché mi sentivo più libero; fino a poco tempo fa inoltre, per i miei progetti Php, utilizzavo &lt;span style="font-family:courier new;"&gt;gedit&lt;/span&gt; o&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;a style="font-family: courier new;" href="http://www.gphpedit.org/"&gt;gphpedit&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La semplicità però, nel caso di progetti molto complessi, rallenta molto. Così mi sono deciso a provare, con riluttanza, &lt;a href="http://www.phpeclipse.de/"&gt;&lt;span style="font-style: italic;"&gt;PhpEclipse&lt;/span&gt;&lt;/a&gt;, il plugin per Eclipse per realizzare progetti in Php.&lt;br /&gt;Scottato dall'esperienza di un vecchio Eclipse per Java (non a caso utilizzo sempre Netbeans), pensavo fosse una ciofeca!&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Invece mi sono dovuto ricredere: il plugin Php per Eclipse fa veramente un ottimo lavoro, complimenti agli sviluppatori! E' veloce, pratico, una facile visualizzazione a cartelle del progetto; evidenzia la sintassi Php e Html; ha l'autocompletamento delle funzioni e...delle variabili!&lt;br /&gt;Insomma, un ottimo e valido strumento.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;L'installazione? Semplicissima. Dal terminale un bel:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install eclipse&lt;/span&gt;&lt;br /&gt;Oppure si installa tramite questo &lt;a href="apt:eclipse"&gt;link&lt;/a&gt;. Il programma è avviabile da &lt;span style="font-weight: bold;"&gt;Applicazioni - Programmazione - Eclipse&lt;/span&gt;.&lt;br /&gt;A questo punto è necessario installare il suddetto plugin: &lt;span style="font-weight: bold;"&gt;Help &gt; Software Updates &gt; Find and Install &lt;/span&gt;dopodiché basta &lt;span style="font-weight: bold;"&gt;Search for new features to install&lt;/span&gt;.&lt;br /&gt;Ora si deve aggiungere il sito da cui scaricare il plugin (&lt;span style="font-weight: bold;"&gt;New Remote Site&lt;/span&gt;), specificando l'URL &lt;span style="font-style: italic;"&gt;"http://phpeclipse.sourceforge.net/update/releases"&lt;/span&gt;&lt;br /&gt;Installate quindi il plugin, riavviate Eclipse e il gioco è fatto!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-2478142777911740188?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2478142777911740188/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2478142777911740188' title='4 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2478142777911740188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2478142777911740188'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/editor-php-per-linux-straordinario.html' title='Editor Php per Linux: straordinario Eclipse'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SE1i9ejugNI/AAAAAAAAAIo/xMWDkZfl3sE/s72-c/Schermata-PHP+-+saladino.php+-+Eclipse+SDK+.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-401780614359013264</id><published>2008-06-02T10:11:00.004+02:00</published><updated>2008-06-02T10:22:47.037+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Una bella trovata: Apturl</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ovvero&lt;span style="font-style: italic;"&gt; installare pacchetti apt mediante una pagina web&lt;/span&gt;. Ho scoperto questo tips in un piccolo riquadro sul numero di giugno di Linux Magazine. Immaginate lo scenario: Un portale dedicato a TUTTO il software per Ubuntu con tanto di screenshot, installabile con un click! Perchè non lo hanno ancora fatto mi chiedo :-D&lt;br /&gt;Se qualcuno ha voglia di farlo...&lt;br /&gt;Comunque la sintassi è la seguente:&lt;br /&gt;&lt;div style="border: 1px solid ; background: rgb(255, 255, 204) none repeat scroll 0% 0%; font-family: courier new; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;a href="apt:nome_pacchetto_da_installare"&amp;gt;Installa&amp;lt;/a&amp;gt;&lt;/div&gt;&lt;br /&gt;Ed ecco un esempio:&lt;br /&gt;&lt;/div&gt;&lt;a href="apt:gimp"&gt;Installa Gimp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Su Ubuntu 8.04 è già presente di default ho notato...se non dovesse, basta un&lt;br /&gt;&lt;div style="border: 1px solid ; background: rgb(255, 255, 204) none repeat scroll 0% 0%; font-family: courier new; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;sudo apt-get install apturl&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-401780614359013264?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/401780614359013264/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=401780614359013264' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/401780614359013264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/401780614359013264'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/una-bella-trovata-apturl.html' title='Una bella trovata: Apturl'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-6056373650723549539</id><published>2008-06-01T01:23:00.004+02:00</published><updated>2008-06-01T01:35:36.086+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='icewm'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Una Ubuntu leggera, ma veramente: con IceWM</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SEHgnRzYxJI/AAAAAAAAAIg/34XPBWlvQvs/s1600-h/Schermata-IceVM+-+VMware+Server+Console.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SEHgnRzYxJI/AAAAAAAAAIg/34XPBWlvQvs/s200/Schermata-IceVM+-+VMware+Server+Console.png" alt="" id="BLOGGER_PHOTO_ID_5206689609615459474" border="0" /&gt;&lt;/a&gt;Oggi pubblico una bella procedura provata oggi per installare su un computer datato o che per necessità non deve fare tanti calcoli / richiedere troppa memoria e che sia veloce e scattante.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Si lo so, esisterebbe già Xubuntu e Fluxbuntu... ma sapete che se io le cose non me le faccio da solo non sono contento.&lt;br /&gt;&lt;br /&gt;Così mi son messo dietro ad installare da nuovo un sistema molto leggero con il gestore di finestre IceWM. Vediamo in dettaglio:&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Ho scaricato il cd della Ubuntu 8.04 Server (si, server!!!)&lt;/li&gt;&lt;li&gt;Ho installato la versione base (quando chiede i servizi da installare, io non ne ho selezionato alcuno)&lt;/li&gt;&lt;li&gt;Mi sono loggato nel sistema&lt;/li&gt;&lt;li&gt;Ho digitato&lt;span style="font-family:courier new;"&gt; nano /etc/apt/sources.list&lt;/span&gt; per abilitare tutti i repository che erano commentati (non so se serve, ma l'ho fatto :-D)&lt;/li&gt;&lt;li&gt;Ho digitato in sequenza&lt;/li&gt;&lt;/ol&gt;&lt;div style="border: 1px solid ; background: rgb(255, 255, 204) none repeat scroll 0% 0%; font-family: courier new; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;sudo apt-get install icewm xserver-xorg xfonts-base xdm xterm firefox flashplugin-nonfree&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Il gioco è fatto...per testare il tutto ho digitato &lt;span style="font-family:courier new;"&gt;startx&lt;/span&gt;, ma dopo il primo riavvio il server X parte in automatico!&lt;br /&gt;&lt;br /&gt;Domande? Del tipo che ti serve una cosa del genere? EH...MISTERO!&lt;br /&gt;Ah, quasi dimenticavo: come si nota dallo screenshot, ho testato il tutto su Vmware!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6056373650723549539?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6056373650723549539/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6056373650723549539' title='6 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6056373650723549539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6056373650723549539'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/06/una-ubuntu-leggera-ma-veramente-con.html' title='Una Ubuntu leggera, ma veramente: con IceWM'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/SEHgnRzYxJI/AAAAAAAAAIg/34XPBWlvQvs/s72-c/Schermata-IceVM+-+VMware+Server+Console.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5069966487570245960</id><published>2008-05-23T22:22:00.005+02:00</published><updated>2008-05-23T22:27:41.933+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='aggiornamento'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Crash di MPlayer</title><content type='html'>&lt;div style="text-align: justify;"&gt;Non capisco cosa stia succedendo &lt;span style="font-style: italic;"&gt;dopo l'aggiornamento alla nuova ubuntu&lt;/span&gt;...sembra che il computer mi si stia rivoltando contro! Non avevo ancora provato ad aprire un video.&lt;br /&gt;Stasera mi volevo guardare "Pumping Iron" che ho in divx....guardate che bello scherzetto di &lt;span style="font-weight: bold;"&gt;MPlayer&lt;/span&gt;:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SDcoAxzYxGI/AAAAAAAAAII/I1J8k3hsMSU/s1600-h/Schermata-Fatal+error%21-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SDcoAxzYxGI/AAAAAAAAAII/I1J8k3hsMSU/s320/Schermata-Fatal+error%21-1.png" alt="" id="BLOGGER_PHOTO_ID_5203671888283878498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/SDcoHBzYxHI/AAAAAAAAAIQ/V86SdsxGyvk/s1600-h/Schermata-Fatal+error%21-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/SDcoHBzYxHI/AAAAAAAAAIQ/V86SdsxGyvk/s320/Schermata-Fatal+error%21-2.png" alt="" id="BLOGGER_PHOTO_ID_5203671995658060914" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/SDcoOhzYxII/AAAAAAAAAIY/PUI-3E3g8ow/s1600-h/Schermata-Fatal+error%21-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/SDcoOhzYxII/AAAAAAAAAIY/PUI-3E3g8ow/s320/Schermata-Fatal+error%21-3.png" alt="" id="BLOGGER_PHOTO_ID_5203672124507079810" border="0" /&gt;&lt;/a&gt;Uffa tutti i programmi si ribellano alla nuova Ubuntu...mah! Ah, fortunatamente Kaffeine funziona alla perfezione senza problemi...ma è dura cambiare le proprie abitudini!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5069966487570245960?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5069966487570245960/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5069966487570245960' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5069966487570245960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5069966487570245960'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/05/crash-di-mplayer.html' title='Crash di MPlayer'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/SDcoAxzYxGI/AAAAAAAAAII/I1J8k3hsMSU/s72-c/Schermata-Fatal+error%21-1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8706921861739617969</id><published>2008-05-21T19:11:00.005+02:00</published><updated>2008-05-21T19:29:24.887+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>K9Copy: Backup dei DVD video</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oggi ho avuto la necessità di copiare un DVD pre-esistente per cause lavorative. Il dvd era un video promozionale, quindi tutto nella legalità :-D&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Non ho voluto abbandonare il fedele linux (anche se i bug della ubuntu 8.04 mi stanno alterando un poco), quindi ho ricercato una soluzione open source: il risultato di questa ricerca è stato &lt;span style="font-weight: bold;"&gt;K9copy&lt;/span&gt;.&lt;br /&gt;K9copy è uno splendido programma (originariamente per KDE, io ho gnome ma funziona benissimo) per copiare dvd da supporti 9 giga a supporti + piccoli (4,2 giga mi pare).&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/SDRbj-Xmt7I/AAAAAAAAAIA/RZwNCDgzIPw/s1600-h/k9copy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/SDRbj-Xmt7I/AAAAAAAAAIA/RZwNCDgzIPw/s320/k9copy.png" alt="" id="BLOGGER_PHOTO_ID_5202884143115319218" border="0" /&gt;&lt;/a&gt;Riesce a ricopiare anche i menu originali...fantastico. Si installa con il solito&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;sudo apt-get install k9copy&lt;/blockquote&gt;Fate un po' di prove e noterete la sua semplicità. Ah, un consiglio: io non scrivo direttamente sul dvd destinazione, ma faccio creare una immagine iso che successivamente masterizzo con &lt;span style="font-weight: bold;"&gt;K3b&lt;/span&gt; :-)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8706921861739617969?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8706921861739617969/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8706921861739617969' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8706921861739617969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8706921861739617969'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/05/k9copy-backup-dei-dvd-video.html' title='K9Copy: Backup dei DVD video'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SDRbj-Xmt7I/AAAAAAAAAIA/RZwNCDgzIPw/s72-c/k9copy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-327465929428152213</id><published>2008-05-16T09:42:00.004+02:00</published><updated>2008-05-16T09:54:32.574+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='navigatore'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='mondo'/><title type='text'>Personalizzare il Navigatore Tom Tom: Voce</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/SC07E-Xmt6I/AAAAAAAAAH4/ThbXI5v8wNM/s1600-h/TomTomONE.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/SC07E-Xmt6I/AAAAAAAAAH4/ThbXI5v8wNM/s320/TomTomONE.jpg" alt="" id="BLOGGER_PHOTO_ID_5200878101330311074" border="0" /&gt;&lt;/a&gt;Sabato scorso ho fatto un acquisto galattico: il navigatore satellitare &lt;span style="font-style: italic;"&gt;Tom Tom One 3rd Edition (South Europe)&lt;/span&gt;. Il navigatore funziona bene, è corredato di un software (purtroppo solo per windows) che permette di scaricare gli aggiornamenti, condividere le correzioni delle mappe e così via.&lt;br /&gt;La cosa più bella l'ho scoperta però nelle voci ("gira a destra","seconda uscita"...): si può creare una propria voce personalizzata!!&lt;br /&gt;Il processo non è difficile e comporta una perdita di tempo di un'oretta massimo due. In pratica, si tratta di registrare &lt;a href="http://tomtom.graemelucas.co.uk/downloads/TomTomVoiceCommands.txt"&gt;59 frasi predefinite &lt;/a&gt;in formato OGG, quindi utilizzare un programma apposito per compattarle creando due file: uno contenente le voci e uno l'indice (serve al navigatore). Un terzo file può essere creato come &lt;span style="font-family: courier new;"&gt;.bmp&lt;/span&gt; per l'immagine della voce (avete presente quando la fa scegliere...c'è una immagine identificativa!).&lt;br /&gt;Questi tre file prodotti andranno poi caricati all'interno della cartella "&lt;span style="font-family: courier new;"&gt;Voices&lt;/span&gt;" del Tom Tom (viene visto come disco esterno). La numerazione non deve essere data a caso: ci sono range predefiniti per le voci personalizzate.&lt;br /&gt;Chiaramente due righe sull'argomento fanno capire poco o niente, quindi consiglio vivamente di seguire una guida assolutamente perfetta:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;a href="http://tomtom.graemelucas.co.uk/tomtomstep1.htm"&gt;http://tomtom.graemelucas.co.uk/tomtomstep1.htm&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Divertitevi...io sto già registrando!!!!&lt;br /&gt;&lt;br /&gt;Ps: appena possibile seguirà una guida per far girare &lt;span style="font-style: italic;"&gt;Tom Tom Home&lt;/span&gt; (il software per gestire il navigatore) anche su Linux tramite VirtualBox! Stay tuned ;-)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-327465929428152213?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/327465929428152213/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=327465929428152213' title='5 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/327465929428152213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/327465929428152213'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/05/personalizzare-il-navigatore-tom-tom.html' title='Personalizzare il Navigatore Tom Tom: Voce'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/SC07E-Xmt6I/AAAAAAAAAH4/ThbXI5v8wNM/s72-c/TomTomONE.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5578240255457588353</id><published>2008-05-06T10:23:00.009+02:00</published><updated>2008-05-08T20:58:41.197+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aggiornamento'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Aggiornamento a Ubuntu 8.04: meglio aspettare...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Preso dall'enfasi, due giorni fa ho aggiornato la mia Ubuntu 7.10 alla versione &lt;span style="font-weight: bold;"&gt;Hardy Heron&lt;/span&gt;, 8.04 (Long Time Support). Per l'aggiornamento dalla 7.04 alle 7.10, invece, avevo aspettato più di 5 mesi (e avevo avuto ragione).&lt;br /&gt;Questa volta ho un po' sbagliato...nel senso che il sistema è funzionante, ma ho riscontrato diversi difetti:&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Gli effetti Desktop (Compiz Fusion) non si abilitano più (colpa del nuovo driver ATI, prima avevo quello free di default e andava tutto) dopo l'aggiornamento;&lt;/li&gt;&lt;li&gt;Avant Window Navigator crasha (sempre per colpa dei driver ATI?);&lt;/li&gt;&lt;li&gt;Vmware server (e client) &lt;span style="font-style: italic; font-weight: bold;"&gt;NON FUNZIONANO&lt;/span&gt;, in particolare non trovano delle librerie (proverò quanto prima a disinstallare e installare dall'eseguibile del sito ufficiale, e tra l'altro ci vuole pure la patch!!!); &lt;span style="font-weight: bold;"&gt;AGGIORNAMENTO&lt;/span&gt;: ho seguito &lt;a href="https://lists.ubuntu.com/archives/ubuntu-users/2006-June/080987.html"&gt;queste istruzioni&lt;/a&gt; e ora funziona! Pensarci prima no?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;XMMS &lt;span style="font-style: italic; font-weight: bold;"&gt;non funziona&lt;/span&gt;, ho dovuto cercare istruzioni su internet per farlo girare sulla 8.04;&lt;/li&gt;&lt;li&gt;Motion ha dato problemi durante la fase di aggiornamento: l'updater eseguiva il comando "motion" facendo così scattare istantanee alla webcam, ma senza mai fermarsi...mah! Ho dovuto premere Ctrl+C per continuare l'aggiornamento!&lt;/li&gt;&lt;li&gt;Nuovo problema (8 maggio '08): i driver ATI continuano a darmi casini su casini, non posso disinstallarli facilmente perchè.. Envy, l'installatore dei driver in Python...CRASHA! &lt;span style="font-weight: bold;"&gt;NON MI FUNZIONA NEANCHE UN GIOCO 3D&lt;/span&gt;, mortacci loro!!!&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/SCA2WQH31_I/AAAAAAAAAHw/tfiSCsh5Hss/s1600-h/ubuntu-804.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/SCA2WQH31_I/AAAAAAAAAHw/tfiSCsh5Hss/s320/ubuntu-804.jpg" alt="" id="BLOGGER_PHOTO_ID_5197213725898561522" border="0" /&gt;&lt;/a&gt;Man mano che noto altri problemi aggiorno questo post...&lt;br /&gt;Sicuramente porta qualche vantaggio: le opzioni di condivisione cartelle sono molto più immediate, firefox 3 (anche se in beta) porta dei cambiamenti veramente interessanti. Peccato che anche in questo caso, alcuni componenti di firefox non sono ancora aggiornati per la versione 3 e quindi non funzionano...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Il tema è il solito, quindi niente di nuovo sotto il sole.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;br /&gt;Per adesso un consiglio: non fate l'aggiornamento per altri 2 / 3 mesi, tempo di sistemare tutti questi bug :-)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5578240255457588353?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5578240255457588353/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5578240255457588353' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5578240255457588353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5578240255457588353'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/05/aggiornamento-ubuntu-804-meglio.html' title='Aggiornamento a Ubuntu 8.04: meglio aspettare...'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SCA2WQH31_I/AAAAAAAAAHw/tfiSCsh5Hss/s72-c/ubuntu-804.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8934381342637477461</id><published>2008-04-19T10:42:00.008+02:00</published><updated>2008-04-19T10:57:13.808+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multiboot'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Multiboot Ubuntu - Xp su dischi diversi</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/SAmzXIbkAuI/AAAAAAAAAHo/ZVfThe2ay0Y/s1600-h/winlinux.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/SAmzXIbkAuI/AAAAAAAAAHo/ZVfThe2ay0Y/s400/winlinux.jpg" alt="" id="BLOGGER_PHOTO_ID_5190877255502660322" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: justify;"&gt;Non ho resistito. Avevo troppa voglia di giocare a &lt;span style="font-style: italic;"&gt;GTA San Andreas&lt;/span&gt;, ma questo necessitava di windows xp. Come fare? Dato per scontato che mai eliminerò Ubuntu, l'idea più giusta che mi è venuta in mente è stata quella di usare un "&lt;span style="font-style: italic;"&gt;frame&lt;/span&gt;" per dischi fissi (si, quelli "&lt;span style="font-style: italic;"&gt;a cassetto&lt;/span&gt;" che si infilano all'evenienza). In questo disco che attacco con semplicità solo quando ho voglia di giocare si trova windows. In questo modo evito che il secondo disco sia sempre collegato all'alimentazione, con un netto vantaggio in termini di stress del disco.&lt;br /&gt;Ed ora passiamo alla cosa più interessante: come fare un multiboot in modo semplice e veloce? Mi è venuto in aiuto&lt;span style="font-weight: bold;"&gt; Grub&lt;/span&gt;, il boot loader di Ubuntu, al cui file di configurazione che si trova in &lt;span style="font-family:courier new;"&gt;/boot/grub/menu.lst&lt;/span&gt;  ho inserito le seguenti righe:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;### END DEBIAN AUTOMAGIC KERNELS LIST&lt;br /&gt;&lt;br /&gt;title         Microft Windows XP Professional&lt;br /&gt;rootnoverify    (hd1,0)&lt;br /&gt;savedefault&lt;br /&gt;makeactive&lt;br /&gt;map         (hd0) (hd1)&lt;br /&gt;map         (hd1) (hd0)&lt;br /&gt;chainloader    +1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Dove &lt;span style="font-style: italic;"&gt;hd0&lt;/span&gt; è il disco con Ubuntu,&lt;span style="font-style: italic;"&gt; hd1&lt;/span&gt; con Windows Xp. Poichè quella mezza calzetta del sistema Microsoft deve avere l'impressione di essere il &lt;span style="font-weight: bold;"&gt;PRIMO&lt;/span&gt; disco, notate i due comandi "&lt;span style="font-style: italic;"&gt;map&lt;/span&gt;" che permettono uno scambio virtuale di dischi...&lt;br /&gt;Sembra incredibile ma adesso funziona alla grande!!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8934381342637477461?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8934381342637477461/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8934381342637477461' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8934381342637477461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8934381342637477461'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/04/multiboot-ubuntu-xp-su-dischi-diversi.html' title='Multiboot Ubuntu - Xp su dischi diversi'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/SAmzXIbkAuI/AAAAAAAAAHo/ZVfThe2ay0Y/s72-c/winlinux.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1469385630943218311</id><published>2008-04-05T13:05:00.005+02:00</published><updated>2008-04-05T13:11:25.531+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Yakuake - Una console dall'alto!</title><content type='html'>Oggi propongo &lt;span style="font-weight: bold;"&gt;Yakuake&lt;/span&gt;, una splendida console in stile Quake, ossia di quelle che premendo un tasto (F12 di default ma è modificabile) compaiono a video come per magia. L'effetto è straordinario e anche molto comodo.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Si installa con il solito&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install yakuake&lt;/span&gt;&lt;br /&gt;Bisogna però aggiungerlo alla "Esecuzione Automatica" di Gnome, quindi andiamo in &lt;span style="font-style: italic;"&gt;Sistema - Preferenze - Sessioni&lt;/span&gt; e aggiungiamo un nuovo programma di avvio ("yakuake", per l'appunto).&lt;br /&gt;Riavviamo Gnome....e premendo F12 abbiamo una comoda console sempre disponibile!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R_deMKToemI/AAAAAAAAAHg/TUQBTPnZUiQ/s1600-h/yakuake.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R_deMKToemI/AAAAAAAAAHg/TUQBTPnZUiQ/s400/yakuake.png" alt="" id="BLOGGER_PHOTO_ID_5185717058958555746" border="0" /&gt;&lt;/a&gt;Un grazie ad un amico di Teo che me l'ha fatto notare!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1469385630943218311?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1469385630943218311/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1469385630943218311' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1469385630943218311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1469385630943218311'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/04/yakuake-una-console-dallalto.html' title='Yakuake - Una console dall&apos;alto!'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/R_deMKToemI/AAAAAAAAAHg/TUQBTPnZUiQ/s72-c/yakuake.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1181029598044936810</id><published>2008-03-16T12:33:00.006+01:00</published><updated>2008-03-16T12:46:36.824+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Editor di fogli di stile (CSS)</title><content type='html'>Oggi parlo di un editor per fogli di stile molto ben fatto: il suo nome è &lt;span style="font-weight: bold;"&gt;CSSED&lt;/span&gt;. Questo programma, a mio avviso, oltre che essere ben fatto è anche potente e veloce (cosa molto rara ultimamente).&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Fa il suo lavoro egregiamente e senza particolari fronzoli. L'interfaccia è curata e suddivisa tra schermata di codice e una barra con tutti i possibili tag css e attributi da poter utilizzare.&lt;br /&gt;Punti forti: evidenziazione della sintassi, possibilità di validare il foglio di stile e output degli eventuali errori. Se si vuole si può abilitare la numerazione delle linee di codice e il raggruppamento dei costrutti (quello con il simbolino + -).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R90G0W5JrVI/AAAAAAAAAHY/LptNWri5vgU/s1600-h/cssed.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R90G0W5JrVI/AAAAAAAAAHY/LptNWri5vgU/s400/cssed.png" alt="" id="BLOGGER_PHOTO_ID_5178302643114192210" border="0" /&gt;&lt;/a&gt;Nell'immagine qui postata, stavo provando ad impostare un bordo e ho fatto doppio click su &lt;span style="font-style: italic;"&gt;border&lt;/span&gt;: il risultato è una comoda finestra che chiede tipo, spessore e colore.&lt;br /&gt;Ultima chicca: Scratch Pad/Static Pad può essere usato per prendere appunti!&lt;br /&gt;&lt;/div&gt;Su Ubuntu, si installa come al solito:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install cssed&lt;/span&gt;&lt;br /&gt;Per le altre distribuzioni, rimando al sito ufficiale del progetto: &lt;a href="http://cssed.sourceforge.net/"&gt;http://cssed.sourceforge.net&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1181029598044936810?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1181029598044936810/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1181029598044936810' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1181029598044936810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1181029598044936810'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/03/editor-di-fogli-di-stile-css.html' title='Editor di fogli di stile (CSS)'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/R90G0W5JrVI/AAAAAAAAAHY/LptNWri5vgU/s72-c/cssed.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8025905487214957747</id><published>2008-03-08T14:01:00.005+01:00</published><updated>2008-03-08T14:07:22.568+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Gcolor2: scegliamo i colori in modo semplice e veloce</title><content type='html'>&lt;div style="text-align: justify;"&gt;Girovagando per la rete mi sono imbattuto in &lt;span style="font-weight: bold;"&gt;gcolor2&lt;/span&gt;, una semplicissima applicazione che permette di giocare con le componenti di colore alla ricerca della tonalità desiderata. La cosa più utile è la notazione esadecimale che ne risulta, utilizzabile all'interno dei fogli di stile di siti web ;-)&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/R9KPP25JrUI/AAAAAAAAAHQ/B7osRhBWLCM/s1600-h/gcolor2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/R9KPP25JrUI/AAAAAAAAAHQ/B7osRhBWLCM/s400/gcolor2.png" alt="" id="BLOGGER_PHOTO_ID_5175356424398155074" border="0" /&gt;&lt;/a&gt;Altra cosa fondamentale: il contagocce, che seleziona il colore di un punto qualsiasi dello schermo.&lt;br /&gt;Per l'installazione basta digitare da terminale:&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install gcolor2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Utile, pratico, veloce.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8025905487214957747?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8025905487214957747/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8025905487214957747' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8025905487214957747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8025905487214957747'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/03/gcolor2-scegliamo-i-colori-in-modo.html' title='Gcolor2: scegliamo i colori in modo semplice e veloce'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/R9KPP25JrUI/AAAAAAAAAHQ/B7osRhBWLCM/s72-c/gcolor2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6452077644425415450</id><published>2008-02-29T18:54:00.003+01:00</published><updated>2008-02-29T19:04:12.773+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Tool di rete: Iptraf</title><content type='html'>Scusandomi della bassa frequenza dei post di questo blog (purtroppo lavoro :-D) oggi voglio accennare l'esistenza di un comodissimo strumento di rete, chiamato &lt;span style="font-weight: bold;"&gt;IpTraf&lt;/span&gt;.&lt;br /&gt;E' installabile semplicemente con un classico (da terminale):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install iptraf&lt;/span&gt;&lt;br /&gt;Per eseguirlo necessita dei privilegi di root, quindi bisogna anteporre &lt;span style="font-family:courier new;"&gt;sudo&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R8hH9zmwzVI/AAAAAAAAAHI/xd5dMFtR_wI/s1600-h/iptraf.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R8hH9zmwzVI/AAAAAAAAAHI/xd5dMFtR_wI/s400/iptraf.png" alt="" id="BLOGGER_PHOTO_ID_5172463299185397074" border="0" /&gt;&lt;/a&gt;Questo programma mostra in tempo reale tutte le connessioni (badate bene, non i pacchetti) con un po' di statistiche dettagliate.Si può anche selezionare una o tutte le interfacce di rete.&lt;br /&gt;&lt;br /&gt;Molto utile!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6452077644425415450?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6452077644425415450/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6452077644425415450' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6452077644425415450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6452077644425415450'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/02/tool-di-rete-iptraf.html' title='Tool di rete: Iptraf'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/R8hH9zmwzVI/AAAAAAAAAHI/xd5dMFtR_wI/s72-c/iptraf.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5742168851978917353</id><published>2008-02-11T20:11:00.000+01:00</published><updated>2008-02-11T20:19:28.181+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Creare un DVD video con filmati divx/xvid</title><content type='html'>Ho avuto la necessità di creare un DVD-video (di quelli che si leggono dai comuni lettori DVD) con alcuni video musicali che avevo. Problemino: i video erano in formato xvid e divx (con estensione avi), e io ho Ubuntu, quindi non posso usare lo schifosissimo Nero Vision.&lt;br /&gt;Chiaramente la soluzione open source c'è...ed è anche comoda e veloce. I programmi usati sono due: il primo è ffmpeg, un vero coltellino svizzero per i video (da linea di comando). Un semplice:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ffmpeg -i fileingresso.avi -target pal-dvd fileuscita.mpg&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;per preparare tutti i filmati in formato mpeg2, per il passo successivo: decidere tutti i vari capitoli del DVD eccetera: per questo, serve &lt;a href="http://varsha.sourceforge.net/"&gt;Varsha&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Una volta &lt;a href="http://sourceforge.net/projects/varsha"&gt;scaricato dal sito&lt;/a&gt;, è sufficiente eseguirlo tramite Java:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;java -jar varsha.jar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Il gioco è fatto....è possibile creare anche i menù e una slideshow con le immagini...che spettacolo.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/R7Ce59cx0nI/AAAAAAAAAHA/11TEgl9BpGM/s1600-h/varsha.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/R7Ce59cx0nI/AAAAAAAAAHA/11TEgl9BpGM/s400/varsha.png" alt="" id="BLOGGER_PHOTO_ID_5165803491178959474" border="0" /&gt;&lt;/a&gt; Nell'immagine qui mostrata ho trascinato i file mpg (preparati precedentemente con ffmpeg come ho spiegato prima) su "Disco". Poi ho semplicemente creato una immagine ISO e successivamente l'ho scritta su DVD con K3B.&lt;br /&gt;Vi rimando agli &lt;a href="http://varsha.sourceforge.net/screenshots/index.html"&gt;screenshot&lt;/a&gt; se volete approfondire!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5742168851978917353?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5742168851978917353/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5742168851978917353' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5742168851978917353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5742168851978917353'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/02/creare-un-dvd-video-con-filmati.html' title='Creare un DVD video con filmati divx/xvid'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/R7Ce59cx0nI/AAAAAAAAAHA/11TEgl9BpGM/s72-c/varsha.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5087159806140923464</id><published>2008-01-25T16:46:00.001+01:00</published><updated>2008-01-25T16:50:33.322+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='università'/><title type='text'>Video discussione tesi e proclamazione</title><content type='html'>Messo su Youtube!!!&lt;br /&gt;&lt;br /&gt;&lt;object width="530" height="370"&gt;&lt;param name="movie" value="http://www.youtube.com/p/16F349127FEC437C"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/p/16F349127FEC437C" type="application/x-shockwave-flash" width="530" height="370"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5087159806140923464?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5087159806140923464/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5087159806140923464' title='7 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5087159806140923464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5087159806140923464'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/01/video-discussione-tesi-e-proclamazione.html' title='Video discussione tesi e proclamazione'/><author><name>Stefano Bianchini</name><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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8953414178865994528</id><published>2008-01-23T20:59:00.000+01:00</published><updated>2008-01-25T13:16:47.229+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='università'/><title type='text'>Si, sono Ingegnere Specialistico Informatico</title><content type='html'>Oggi mi sono laureato...visto che ancora non me ne rendo conto, probabilmente domani avrò tempo di aggiornare questo post e aggiungere tutta la descrizione della fantastica esperienza.&lt;br /&gt;&lt;br /&gt;Per adesso sappiate che....ho preso &lt;span style="font-weight: bold;font-size:180%;" &gt;109&lt;/span&gt;!!!!!&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-style: italic;"&gt;Aggiornamento a freddo&lt;/span&gt;: racconto un po' la mia giornata. La mattina del 23 ho sognato che dovevo fare un intervento chirurgico, mi stavano portando a fare una anestesia (locale) per un intervento molto lungo. Mi sveglio e penso: CHE CULO, era un incubo, mi devo solo LAUREARE!&lt;br /&gt;Inizia così con ottimismo una gran bella giornata della mia vita: passo a prendere mio cugino, la Romina e poi rotta verso Cesena. Chiaramente la triennale era in ritardo di 30 minuti...Poi è il turno della specialistica, prima di me c'è Benedettini. Ero lì presente ma non ho ascoltato nulla! Gli fanno un po' di domande, una in particolare abbastanza bastarda dal prof Viroli, che alla fine si mette a discutere con Roli (mah...forse affinità di nome :-D?).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tocca a me&lt;/span&gt;. Scopro che c'è un portatile già collegato e disponibile e quindi uso quello, nonostante l'Adobe Reader 5 (cinque????Caz ma siamo all'8!) si blocca inizialmente! Comincio a parlare con molta tranquillità, anche troppa (non mi accorgo di mettere le mani nelle tasche!). Grazie alla Romina che mi faceva i segni dei minuti che passavano, finisco in esattamente 20 minuti. Due domande tranquille e via, si aspetta la proclamazione.&lt;br /&gt;Quella non la descrivo...sto preparando dei video su youtube con tutto il filmato, purtroppo diviso in tre (eh...youtube al max vuole 10 minuti).&lt;br /&gt;&lt;br /&gt;Stay Tuned!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8953414178865994528?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8953414178865994528/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8953414178865994528' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8953414178865994528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8953414178865994528'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/01/si-sono-ingegnere-specialistico.html' title='Si, sono Ingegnere Specialistico Informatico'/><author><name>Stefano Bianchini</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3539526033886968949</id><published>2008-01-17T10:35:00.000+01:00</published><updated>2008-01-17T11:45:08.381+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='università'/><title type='text'>Tocca a me ora! 23 gennaio 2008</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/R48jlC_O86I/AAAAAAAAAGw/9kC5qbO2jWs/s1600-h/tocco.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 220px; height: 220px;" src="http://4.bp.blogspot.com/_CxowvyW17kU/R48jlC_O86I/AAAAAAAAAGw/9kC5qbO2jWs/s320/tocco.jpg" alt="" id="BLOGGER_PHOTO_ID_5156379217726731170" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/R48lYS_O87I/AAAAAAAAAG4/UDT4SJF6VPc/s1600-h/laurea.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/R48lYS_O87I/AAAAAAAAAG4/UDT4SJF6VPc/s400/laurea.png" alt="" id="BLOGGER_PHOTO_ID_5156381197706654642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;&lt;strong&gt;(*)&lt;/strong&gt; Orario indicativo: l'ordine e l'orario di discussione dei candidati potrebbero subire alcune modifiche.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;strong&gt;Proclamazione finale ore 12.40&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Accorrete numerosi!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3539526033886968949?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3539526033886968949/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3539526033886968949' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3539526033886968949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3539526033886968949'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/01/tocca-me-ora.html' title='Tocca a me ora! 23 gennaio 2008'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/R48jlC_O86I/AAAAAAAAAGw/9kC5qbO2jWs/s72-c/tocco.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3301489227543188025</id><published>2008-01-13T22:33:00.000+01:00</published><updated>2008-01-13T22:46:21.162+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Upgrade di Ms-DOS 5</title><content type='html'>Non è bello questo video: di più.&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dmEvPZUdAVI&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01&amp;border=0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/dmEvPZUdAVI&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01&amp;border=0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Come ha fatto Microsoft a venderlo???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3301489227543188025?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3301489227543188025/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3301489227543188025' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3301489227543188025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3301489227543188025'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/01/upgrade-di-ms-dos-5.html' title='Upgrade di Ms-DOS 5'/><author><name>Stefano Bianchini</name><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><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8818308189621052424</id><published>2008-01-11T12:17:00.000+01:00</published><updated>2008-01-11T12:59:57.405+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mondo'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><title type='text'>Analizziamo lo spam - Truffa</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R4daFxZZFsI/AAAAAAAAAGo/X_OWwAdYe8A/s1600-h/hacker.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R4daFxZZFsI/AAAAAAAAAGo/X_OWwAdYe8A/s320/hacker.gif" alt="" id="BLOGGER_PHOTO_ID_5154187353754506946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Oggi, scaricando la posta, mi è arrivata una bella mail in inglese da parte di una certa signora &lt;span style="font-style: italic;"&gt;Miriam Daivds&lt;/span&gt;. Colgo l'occasione per mostrare la mail truffa e per analizzarla:&lt;/div&gt;&lt;pre wrap=""&gt;&lt;blockquote&gt;RAVE YOUR INDULGENCE&lt;br /&gt;&lt;br /&gt;Greetings to you in the most wonderful name of our God Almighty. His richest blessings shall be upon you forever.&lt;br /&gt;&lt;br /&gt;I am Mrs. Miriam Davids, I am 51 years old from Netherlands, I am deaf and suffering from a long time cancer of the Lungs which also affected my brain, from all indication my conditions is really deteriorating and it is quite obvious that, according to my doctors they have advised me that I live for the next four months, this is because the cancer stage has gotten to a very bad stage.&lt;br /&gt;&lt;br /&gt;I was brought up from a motherless babies home, was married to my late husband for twenty years without a child. My husband died in a fatal motor accident. Before his death we were true Christians.&lt;br /&gt;&lt;br /&gt;Since his death I decided not to re-marry, I sold all my inherited belongings and deposited all the sum of $13.5 million dollars with a Security Company. Presently, this money is still with them and the management just wrote me as the true owner to come forward to receive the money for keeping it so long Or rather issue a letter of authorization to somebody to receive it on my behalf since I can not come over because of my illness or they get it seized.&lt;br /&gt;&lt;br /&gt;Presently, I'm with my laptop in a hospital where I have been undergoing treatment for cancer of the lungs. I have since lost my ability to talk and my doctors have told me that I have only a few months to live.It is my last wish to see that this money is invested to any organization of your choice and distributed each year among the charity organizations, the poor and the motherless babies' homes where I come from.&lt;br /&gt;&lt;br /&gt;I want you as a God fearing person, to also use this money to fund churches, orphanages and widows. I took this decision, before I rest in peace because my time will soon be up. As soon as I receive your reply I shall give you the contact of the Security Company. I will also issue you a letter of authority that will improve you as the new beneficiary of my fund.&lt;br /&gt;&lt;br /&gt;Please assure me that you will act accordingly as I stated herein.&lt;br /&gt;I shall wait at your prayerful reply .&lt;br /&gt;&lt;br /&gt;Yours truely,&lt;br /&gt;Mrs Miriam Daivds.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Spettacolo. Povera donna olandese vedova con 51 anni e malata. A quanto pare, il marito le ha lasciato una bella somma. Come al solito, si offre di dare tutto a me...tanto è sicura che li spenderò per chiese, orfanotrofi... la fregatura? Oltre al fatto che non è vera neanche una parola (ti sto scrivendo da un portatile nell'ospedale dove mi sto curando), se si risponde prima o poi chiederà soldi (qualche migliaio) per costi di transazione eccetera. Peccato che i 13 milioni di dollari promessi non li vedrà mai nessuno :-D. La mail è inviata dall'indirizzo miriam.davids88@yahoo.ca...in teoria, Yahoo Canadese.&lt;br /&gt;&lt;br /&gt;Ora analizziamo da dove proviene la mail: la donna dice di essere olandese. Vediamo...apriamo le intestazioni della mail da Thunderbird: Visualizza -&gt; Intestazioni -&gt; Tutte.&lt;br /&gt;Mi soffermo su un campo:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Received:&lt;/span&gt; from gmail.com (dsl-243-177-27.telkomadsl.co.za [41.243.177.27])        by mx.google.com with SMTP id q26si1603340ele.6.2007.12.21.04.28.59;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Umh, questo (dsl-243-177-27.telkomadsl.co.za) non mi ispira per niente. Apro il terminale e uso il &lt;span style="font-style: italic;"&gt;whois,&lt;/span&gt;  che mi mostra le seguenti informazioni:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;% This is the AfriNIC Whois server.&lt;br /&gt;&lt;br /&gt;% Note: this output has been filtered.&lt;br /&gt;&lt;br /&gt;% Information related to '41.243.0.0 - 41.243.255.255'&lt;br /&gt;&lt;br /&gt;inetnum:        41.243.0.0 - 41.243.255.255&lt;br /&gt;netname:        IPNET-BROADBAND&lt;br /&gt;descr:          Telkom SA Limited&lt;br /&gt;descr:          Integrated Network Planning&lt;br /&gt;descr:          Private Bag X74&lt;br /&gt;descr:          Pretoria&lt;br /&gt;descr:          Gauteng&lt;br /&gt;descr:          0001&lt;br /&gt;country:        ZA&lt;br /&gt;admin-c:        MST95-AFRINIC&lt;br /&gt;tech-c:         PB455-AFRINIC&lt;br /&gt;tech-c:         JDU24-AFRINIC&lt;br /&gt;status:         ASSIGNED PA&lt;br /&gt;mnt-by:         TELKOM-SA-IPNET-MNT&lt;br /&gt;remarks:        noc e-mail: &lt;nnoc@saix.net&gt;, phone: +27-12-680-0224&lt;br /&gt;remarks:        abuse e-mail: &lt;abuse@saix.net&gt;, phone: +27-12-680-7561&lt;br /&gt;source:         AFRINIC # Filtered&lt;br /&gt;parent:         41.240.0.0 - 41.247.255.255&lt;br /&gt;&lt;/abuse@saix.net&gt;&lt;/nnoc@saix.net&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;Bello vero? L'indirizzo Ip da cui è stata spedita la mail viene da un servizio di broadband in Pretoria...Sudafrica :-) Cavolo, spiegate a questa povera donna morente che è ad uno stadio avanzato, pensa addirittura di essere in Olanda e invece è in Africa...&lt;br /&gt;&lt;br /&gt;Non cascateci!!!!&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8818308189621052424?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8818308189621052424/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8818308189621052424' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8818308189621052424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8818308189621052424'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/01/analizziamo-lo-spam-truffa.html' title='Analizziamo lo spam - Truffa'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/R4daFxZZFsI/AAAAAAAAAGo/X_OWwAdYe8A/s72-c/hacker.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-105140073742414246</id><published>2008-01-10T12:08:00.000+01:00</published><updated>2008-01-10T12:20:03.554+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Il nostro Linux....parla!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Bene questa volta vi introduco un programmino carino la cui utilità dipende dalla vostra apertura mentale :-D. Questo programma si chiama &lt;a href="http://espeak.sourceforge.net/"&gt;espeak&lt;/a&gt;, solitamente già installato su Ubuntu; in caso contrario è sufficiente un&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install espeak&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A cosa serve? E' un riproduttore vocale. Parla varie lingue (tra cui l'italiano), potete chiedere di pronunciare una frase e lui lo farà. Il risultato potrà essere ascoltato direttamente dalle casse sonore oppure salvato su file.&lt;br /&gt;&lt;br /&gt;Come utilizzarlo: da linea di comando. Tipicamente con la sintassi:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;espeak -s 170 -a 60 -p 50 -v it 'Frase da pronunciare'&lt;/span&gt;&lt;br /&gt;Dove (-s) è la velocità, (-a) il volume, (-p) il pitch e (-v) il linguaggio da utilizzare. Impiegando il parametro (-w) si può salvare su file wave il tutto.&lt;br /&gt;&lt;br /&gt;Impieghi? Una volta su Radio Deejay c'era "Er Finestra" con questa voce :-), ma può servire per persone diversamente abili (nel caso particolare, cieche) oppure, aprendo una connessione ssh dall'esterno, a impartire comandi alla mamma mentre voi siete fuori casa! Mi ricordo che una volta l'ha fatto il mio amico Ramo...però lui utilizzava "say" sul suo Mac :-D&lt;br /&gt;Qualcuno ci ha fatto uno script per Amarok (&lt;a href="http://www.topolinux.org/"&gt;http://www.topolinux.org/&lt;/a&gt;), in modo che parli mentre premete play...pause...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-105140073742414246?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/105140073742414246/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=105140073742414246' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/105140073742414246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/105140073742414246'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2008/01/il-nostro-linuxparla.html' title='Il nostro Linux....parla!'/><author><name>Stefano Bianchini</name><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><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1146334969621664724</id><published>2007-12-30T19:12:00.000+01:00</published><updated>2007-12-30T19:20:17.279+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>EtherApe</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oggi consiglio un programma per visualizzare graficamente il traffico di rete. No, non si tratta di un analizzatore di pacchetto: è un tool che graficamente vi fa vedere gli host, i protocolli e la dimensione del traffico coinvolti nell'attività di rete.&lt;br /&gt;Questo programma si chiama EtherApe, installabile con:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install etherape&lt;/span&gt;&lt;br /&gt;Il programma &lt;u&gt;deve&lt;/u&gt; essere eseguito come root, altrimenti non avrete la possibilità di utilizzare le schede di rete fisiche. Una volta fatto partire, si può selezionare la modalità di cattura (Capture - Mode) selezionando tra Ip e Tcp: la prima mostra il traffico rispetto ai soli host, la seconda rispetto alle connessioni TCP/IP (quindi coppie di ip/porta). Se li provate capite al volo :-)&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/R3fg7BZZFqI/AAAAAAAAAGY/ALpU_W3QLpk/s1600-h/Schermata-EtherApe.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/R3fg7BZZFqI/AAAAAAAAAGY/ALpU_W3QLpk/s320/Schermata-EtherApe.png" alt="" id="BLOGGER_PHOTO_ID_5149832003513292450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Altra cosa utile: potete usare un utile riepilogo dei protocolli visualizzati (Visualizza - Protocols), e modificare le preferenze come più vi aggrada (chessò, cambiare i colori del traffico e così via).&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/R3fhERZZFrI/AAAAAAAAAGg/Ajeh75jTKmw/s1600-h/Schermata-EtherApe:+Protocols.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/R3fhERZZFrI/AAAAAAAAAGg/Ajeh75jTKmw/s320/Schermata-EtherApe:+Protocols.png" alt="" id="BLOGGER_PHOTO_ID_5149832162427082418" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1146334969621664724?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1146334969621664724/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1146334969621664724' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1146334969621664724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1146334969621664724'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/12/etherape.html' title='EtherApe'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/R3fg7BZZFqI/AAAAAAAAAGY/ALpU_W3QLpk/s72-c/Schermata-EtherApe.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-2816678662099860190</id><published>2007-12-27T18:24:00.000+01:00</published><updated>2007-12-27T18:38:12.974+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Lucas Games</title><content type='html'>&lt;div style="text-align: justify;"&gt;Certi giochi d'infanzia non si scordano mai. E' così ad esempio con &lt;span style="font-weight: bold;"&gt;Duke Nukem 3D&lt;/span&gt;, un capolavoro assoluto per quei tempi (ancora mi diverto a creare le mappe). Un altro gioco che mi faceva strippare, ai tempi del mio &lt;span style="color: rgb(153, 0, 0);"&gt;486&lt;/span&gt; (quello con il &lt;span style="font-style: italic;"&gt;turbo&lt;/span&gt;, a 66Mhz!!!!), era &lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;Indiana Jones and the Fate of Atlantis&lt;/span&gt;. Mamma mia che gioco...ancora adesso mi diverto come un matto a giocarci una volta ogni sei mesi (non mi ricordo mai perfettamente cosa devo fare, quindi ogni volta è una scoperta :-D).&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R3PigxZZFoI/AAAAAAAAAGI/MfoNS7muOrA/s1600-h/scummvm.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R3PigxZZFoI/AAAAAAAAAGI/MfoNS7muOrA/s320/scummvm.png" alt="" id="BLOGGER_PHOTO_ID_5148707851658139266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Fatto sta che ho scoperto che i vecchi giochi della Lucas Arts (Monkey Island I,II,III, Loom e tantissimi altri, tra i quali Atlantis per l'appunto) possono essere eseguiti all'interno di un interprete apposito chiamato ScummVM. Installiamolo su Ubuntu:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install scummvm&lt;/span&gt;&lt;br /&gt;Notate che se cercate&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;apt-cache search scummvm&lt;/span&gt;&lt;br /&gt;otterrete due giochi di cui vi consiglio flight-of-the-amazon-queen&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Una volta installato l'emulatore, potrete scaricare il gioco &lt;a href="http://www.divshare.com/download/3113025-721"&gt;qui&lt;/a&gt;, oppure cercate su internet i giochi che più vi interessano. Scompattate lo zip in una directory; aprite scummvm (nella barra Applicazioni - Giochi - ScummVM oppure eseguendo scummvm da terminale) e aggiungete un nuovo gioco all'interno dell'emulatore (Add game - &gt; poi gli date il percorso della cartella scompattata).&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/R3PiqRZZFpI/AAAAAAAAAGQ/mFJUtBEi3fQ/s1600-h/Schermata-Indiana+Jones+and+the+Fate+of+Atlantis+%28Italian-DOS-Floppy%29-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/R3PiqRZZFpI/AAAAAAAAAGQ/mFJUtBEi3fQ/s320/Schermata-Indiana+Jones+and+the+Fate+of+Atlantis+%28Italian-DOS-Floppy%29-1.png" alt="" id="BLOGGER_PHOTO_ID_5148708014866896530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dopodichè..."Start game"...e fate un tuffo nel passato!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-2816678662099860190?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2816678662099860190/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2816678662099860190' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2816678662099860190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2816678662099860190'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/12/lucas-games.html' title='Lucas Games'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/R3PigxZZFoI/AAAAAAAAAGI/MfoNS7muOrA/s72-c/scummvm.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5012030906765642904</id><published>2007-12-05T11:17:00.000+01:00</published><updated>2007-12-05T11:33:27.941+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Gnome NetSpeed</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oggi consiglio Gnome NetSpeed, una comoda applicazione per controllare continuamente il traffico sulla scheda di rete desiderata. Dopo l'installazione con il classico&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install netspeed&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;aggiungiamo l'applet ad un qualsiasi pannello (click destro, Aggiungi al pannello) e selezioniamo "Network Monitor". Questa applicazione si presenta quindi così:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/R1Z7mUFj5CI/AAAAAAAAAF4/m2V4OSJ9gKU/s1600-h/netspeed1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/R1Z7mUFj5CI/AAAAAAAAAF4/m2V4OSJ9gKU/s320/netspeed1.png" alt="" id="BLOGGER_PHOTO_ID_5140431922847278114" border="0" /&gt;&lt;/a&gt;Piccolo trucco: cliccando col destro troverete "Preferenze" (dove vi consiglio di disabilitare "Se possibile, controlla sempre le interfacce connesse", in modo da poter selezionare la scheda di rete desiderata) e un comodissimo "Dettagli dell'interfaccia", la cui schermata è la seguente:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R1Z8ikFj5DI/AAAAAAAAAGA/wBGtqSpnJ-s/s1600-h/netspeed2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R1Z8ikFj5DI/AAAAAAAAAGA/wBGtqSpnJ-s/s320/netspeed2.png" alt="" id="BLOGGER_PHOTO_ID_5140432957934396466" border="0" /&gt;&lt;/a&gt;Bello, semplice, comodo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5012030906765642904?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5012030906765642904/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5012030906765642904' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5012030906765642904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5012030906765642904'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/12/gnome-netspeed.html' title='Gnome NetSpeed'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/R1Z7mUFj5CI/AAAAAAAAAF4/m2V4OSJ9gKU/s72-c/netspeed1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6204169080163645625</id><published>2007-11-25T19:44:00.000+01:00</published><updated>2007-11-25T19:51:48.799+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Gnome Launch Box</title><content type='html'>Su suggerimento del sempre onniscente Marco Fabbri ho conosciuto Gnome Launch Box.&lt;br /&gt;E' una comodissima applicazione che permette di eseguire o cercare all'interno della nostra linux box. Diciamo che l'uso spiega la sua funzione...&lt;br /&gt;Per installarlo digitate&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;sudo apt-get install gnome-launch-box&lt;/span&gt;&lt;br /&gt;Io per provarlo ho digitato "php" e ho avuto questo risultato:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/R0nDn2zv4PI/AAAAAAAAAFw/dDvaGlqfnVo/s1600-h/launch.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/R0nDn2zv4PI/AAAAAAAAAFw/dDvaGlqfnVo/s320/launch.png" alt="" id="BLOGGER_PHOTO_ID_5136851939487637746" border="0" /&gt;&lt;/a&gt;Come si può vedere mi ha trovato tutto quel che poteva sulla stringa "php".&lt;br /&gt;Comodo, ma non può sostituire secondo me in Alt+F2 l'esegui applicazione, poichè quest'ultima permette anche comandi nel terminale.&lt;br /&gt;&lt;br /&gt;PS: per una nuova ricerca, premete ESC!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6204169080163645625?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6204169080163645625/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6204169080163645625' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6204169080163645625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6204169080163645625'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/11/gnome-launch-box.html' title='Gnome Launch Box'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/R0nDn2zv4PI/AAAAAAAAAFw/dDvaGlqfnVo/s72-c/launch.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-690473934382049493</id><published>2007-11-03T10:53:00.000+01:00</published><updated>2007-11-03T11:01:02.167+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Petizione: Linux nelle scuole</title><content type='html'>Hanno creato una petizione per consigliare l'adozione di Linux nelle scuole! Cavolo, i risparmi si farebbero sentire assai, per vari motivi:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I costi di licenze sarebbero minori&lt;/li&gt;&lt;li&gt;Oramai i costi di gestione sono bassi (con Ubuntu poi...è tutto semplice)&lt;/li&gt;&lt;li&gt;La sicurezza aumenta di parecchio (utenti con diritti limitati...)&lt;/li&gt;&lt;li&gt;A scuola si usa SEMPRE Office...quindi migrare ad OpenOffice per i bambini è indolore, per gli insegnanti un po' meno (però basta applicarsi)&lt;/li&gt;&lt;/ol&gt;Vi segnalo il banner della petizione...io nei commenti ho richiesto anche l'adozione dell' Open Document Format come standard della scuola italiana! Tanto OpenOffice lo legge, MS Office lo legge tramite un plugin gratuito della Sun (mi sembra, non vorrei ricordare male), quindi...&lt;br /&gt;&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://macromedia.com/cabs/swflash.cab#version=6,0,0,0" ID="flaMovie" WIDTH="180" HEIGHT="150"&gt;&lt;PARAM NAME=movie VALUE="http://firmiamo.it/flash/180150black.swf"&gt;&lt;PARAM NAME=FlashVars VALUE="title=Firma+per&amp;petition=Linux+nelle+scuole+Italiane&amp;link=http%3A%2F%2Ffirmiamo.it%2Flinuxscuola"&gt;&lt;PARAM NAME=quality VALUE=medium&gt;&lt;PARAM NAME=bgcolor VALUE=#99CC33&gt;&lt;EMBED src="http://firmiamo.it/flash/180150black.swf" FlashVars="title=Firma+per&amp;petition=Linux+nelle+scuole+Italiane&amp;link=http%3A%2F%2Ffirmiamo.it%2Flinuxscuola" bgcolor=#FFFFFF WIDTH="180" HEIGHT="150" TYPE="application/x-shockwave-flash"&gt;&lt;/EMBED&gt;&lt;/OBJECT&gt; &lt;br /&gt;Votate, Votate, Votate!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-690473934382049493?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/690473934382049493/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=690473934382049493' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/690473934382049493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/690473934382049493'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/11/petizione-linux-nelle-scuole.html' title='Petizione: Linux nelle scuole'/><author><name>Stefano Bianchini</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5245905545525515027</id><published>2007-10-25T12:02:00.000+02:00</published><updated>2007-10-25T12:07:05.818+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>7 novembre LAN party</title><content type='html'>A chiunque non sia riuscito a contattarlo...pensavo di fare il LAN party mercoledì 7 novembre ore 14,30 a casa mia!&lt;br /&gt;Saremo minimo 8...dovrebbe venire un bel gioco!&lt;br /&gt;&lt;br /&gt;Per le &lt;a href="http://maps.google.it/maps?f=q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;time=&amp;amp;date=&amp;amp;ttype=&amp;amp;q=Viale+Sabotino,+42,+47900+Rimini,+Rimini+%28Emilia+Romagna%29&amp;amp;sll=41.442726,12.392578&amp;amp;sspn=11.342987,20.522461&amp;amp;ie=UTF8&amp;amp;z=16&amp;amp;iwloc=addr&amp;amp;om=1"&gt;indicazioni cliccate qui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5245905545525515027?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5245905545525515027/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5245905545525515027' title='4 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5245905545525515027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5245905545525515027'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/7-novembre-lan-party.html' title='7 novembre LAN party'/><author><name>Stefano Bianchini</name><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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8423218120014614925</id><published>2007-10-20T11:36:00.000+02:00</published><updated>2007-10-20T11:43:25.513+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>LAN party!!! Adesioni?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RxnNXiYDO6I/AAAAAAAAAFo/FmmMH45MO6s/s1600-h/01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RxnNXiYDO6I/AAAAAAAAAFo/FmmMH45MO6s/s320/01.jpg" alt="" id="BLOGGER_PHOTO_ID_5123351855359015842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;E' giunta l'ora di organizzare un LAN party. L'idea mi è venuta quando ho saputo che Mirko partirà per Monaco dove farà la tesi...quindi prima bisogna festeggiare e farlo perdere per l'ennesima volta!!&lt;br /&gt;Il gioco che ho scelto e che adoro è "&lt;a href="http://enemy-territory.4players.de:1041/"&gt;Wolfestein Enemy Territory&lt;/a&gt;" (versione 2.60b) freeware e multipiattaforma.&lt;br /&gt;Il giorno esatto lo decideremo insieme a tutti i partecipanti. Il luogo...beh quello è un problemino: io la mia casa la metto ( e ci staremmo anche in tanti), però è a Rimini! Al limite forse si rimedia un posto a Sant'Arcangelo a casa di Nick, ma non è che sia tanto più vicino a Cesena (14 km...)&lt;br /&gt;Comunque al di là dei problemi logistici, l'invito è esteso a tutti coloro che conosco!&lt;br /&gt;Vi prego di lasciare un commento a questo post per segnalare la vostra adesione. Poi la data la decidiamo...chiaramente prima che Mirko parta! (Ma non sa ancora quando parte :-D)&lt;br /&gt;Per chi non riesce a venire predisporrò un server remoto (non più di due persone però che mi muore la mia povera ADSL!!!)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8423218120014614925?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8423218120014614925/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8423218120014614925' title='9 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8423218120014614925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8423218120014614925'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/lan-party-adesioni.html' title='LAN party!!! Adesioni?'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RxnNXiYDO6I/AAAAAAAAAFo/FmmMH45MO6s/s72-c/01.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-2754861221808634453</id><published>2007-10-17T12:26:00.000+02:00</published><updated>2007-10-17T12:34:47.891+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Reflex: utilissimo javascript per i riflessi delle immagini</title><content type='html'>&lt;div style="text-align: justify;"&gt;Che dire, quel breve periodo in cui ho usato iTunes (un mesetto, per poi esplodere di lentezza) adoravo quell'effetto grafico delle copertine con i riflessi in prospettiva...&lt;br /&gt;Volete fare la stessa cosa in una pagina web con qualsiasi set di immagini? Beh, Reflex è lo script che fa per voi. Basta andare alla sua pagina principale, &lt;a href="http://www.netzgesta.de/reflex/"&gt;http://www.netzgesta.de/reflex/&lt;/a&gt; e scaricare lo zip contenente tutto l'occorrente (inclusi gli esempi).&lt;br /&gt;Bene, ora semplicemente aggiungete alla pagina web la seguente riga:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;code style="font-family: courier new;"&gt;&amp;lt;script type="text/javascript" src="reflex.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;Dopodichè aggiungete  &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;class="reflex"&lt;/span&gt;&lt;/span&gt; ad ogni immagine del set...ecco fatto!! Nel sito troverete anche tutte le varie opzioni sull'opacità eccetera.&lt;br /&gt;L'effetto prodotto è fantastico...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RxXk-yYDO5I/AAAAAAAAAFg/-3c69_ZRxgw/s1600-h/reflex.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RxXk-yYDO5I/AAAAAAAAAFg/-3c69_ZRxgw/s320/reflex.jpg" alt="" id="BLOGGER_PHOTO_ID_5122251918529477522" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-2754861221808634453?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2754861221808634453/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2754861221808634453' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2754861221808634453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2754861221808634453'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/reflex-utilissimo-javascript-per-i.html' title='Reflex: utilissimo javascript per i riflessi delle immagini'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/RxXk-yYDO5I/AAAAAAAAAFg/-3c69_ZRxgw/s72-c/reflex.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-4034153153820563076</id><published>2007-10-16T11:42:00.000+02:00</published><updated>2007-10-16T11:52:54.039+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Phatch -Azioni batch su immagini</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RxSI0yYDO3I/AAAAAAAAAFQ/u0lMLGg94Gc/s1600-h/phatch.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RxSI0yYDO3I/AAAAAAAAAFQ/u0lMLGg94Gc/s320/phatch.png" alt="" id="BLOGGER_PHOTO_ID_5121869116684319602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Oggi propongo un programma veramente utile: &lt;a href="http://photobatch.stani.be/"&gt;Phatch&lt;/a&gt;. E' un programma che esegue in automatico operazioni sulle immagini contenute in una cartella specificata.&lt;br /&gt;&lt;/div&gt;Queste azioni possono essere:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ridimensionamento&lt;/li&gt;&lt;li&gt;Cambio della modalità di colore (tipo da RGB a monocromatico)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aggiunta di una filigrana (molto, molto utile)&lt;/li&gt;&lt;li&gt;Invertire i colori&lt;/li&gt;&lt;li&gt;Aggiungere un'ombra&lt;/li&gt;&lt;li&gt;Arrontondare gli angoli dei bordi dell'immagine&lt;/li&gt;&lt;li&gt;Ruotare l'immagine&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RxSJlyYDO4I/AAAAAAAAAFY/aLeHmovaMV4/s1600-h/Phatch+azioni.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RxSJlyYDO4I/AAAAAAAAAFY/aLeHmovaMV4/s320/Phatch+azioni.png" alt="" id="BLOGGER_PHOTO_ID_5121869958497909634" border="0" /&gt;&lt;/a&gt;Questo programma è scritto in Python e la sua installazione è semplicissima. Basta andare su &lt;a href="http://sd-2986.dedibox.fr/photobatch/download/index.html"&gt;http://sd-2986.dedibox.fr/photobatch/download/index.html&lt;/a&gt; e scaricare il debian package per ubuntu (festy) ed installarlo.&lt;br /&gt;C'è anche il sorgente per altre versioni linux, per Mac (ultimamente odio la Apple) e per Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4034153153820563076?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4034153153820563076/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4034153153820563076' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4034153153820563076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4034153153820563076'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/phatch-azioni-batch-su-immagini.html' title='Phatch -Azioni batch su immagini'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RxSI0yYDO3I/AAAAAAAAAFQ/u0lMLGg94Gc/s72-c/phatch.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1270779431457181060</id><published>2007-10-15T10:35:00.000+02:00</published><updated>2007-10-15T10:51:55.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mondo'/><title type='text'>Blog Action Day</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://blogactionday.org/"&gt; &lt;img src="http://blogactionday.org/images/action_234x60.jpg" alt="Bloggers Unite - Blog Action Day" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Oggi è il 15 ottobre, e come ho già scritto, migliaia di blog parleranno di ambiente. Io ho deciso un po' di tempo fa di partecipare a questa iniziativa e di scrivere un post riguardante l'ecologia. Poichè il post deve essere in relazione con le tematiche principali del blog ospitante, ho deciso di scrivere a proposito del connubio difesa dell'ambiente - scelta open source.&lt;br /&gt;&lt;br /&gt;Le due cose in realtà, secondo il mio punto di vista, si somigliano parecchio. Entrambe infatti richiedono sacrifici:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li style="color: rgb(0, 102, 0);"&gt;Utilizzo quattro bidoni diversi per la raccolta differenziata, quando mi sarebbe più comodo usarne uno solo&lt;/li&gt;&lt;li style="color: rgb(255, 102, 0);"&gt;Utilizzo Linux, anche quando ho problemi con le applicazioni&lt;/li&gt;&lt;li style="color: rgb(0, 102, 0);"&gt;Cerco di usare meno acqua possibile, e quella che mi rimane la uso per innaffiare&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Uso linux, anche se i driver ATI fanno letteralmente ancora schifo (a quando dei driver che non mi bloccano lo schermo???)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Quante volte non so dove buttare le cartacce o le gomme da masticare e però NON LE BUTTO per terra?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Quante volte vorrei formattare ogni volta che mi vien voglia di giocare a GTA San Andreas...che per linux non c'è (e non pensate a cedega, è già tanto se sul mio funziona bene senza emulazione...)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Insomma potrei andare avanti così per un bel po'...morale della favola: la difesa dell'ambiente parte dalle piccole cose e richiede dei piccoli sacrifici, ma in nome di un mondo migliore, così come l'uso di software libero come ubuntu (o qualsiasi linux OS) richiede tanto impegno e qualche volta fa perdere le staffe :-)&lt;br /&gt;Però sono entrambe cose GIUSTE ed in cui CREDO fermamente.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;DIFENDI L'AMBIENTE E USA SOFTWARE OPEN SOURCE.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://blogactionday.org/"&gt; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1270779431457181060?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1270779431457181060/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1270779431457181060' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1270779431457181060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1270779431457181060'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/blog-action-day.html' title='Blog Action Day'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-1289246094621845479</id><published>2007-10-13T12:22:00.000+02:00</published><updated>2007-10-13T12:25:02.607+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Buon Compleanno</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RxCc7yYDO2I/AAAAAAAAAFI/m4oWGksOtPk/s1600-h/torta.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RxCc7yYDO2I/AAAAAAAAAFI/m4oWGksOtPk/s320/torta.jpg" alt="" id="BLOGGER_PHOTO_ID_5120765327269116770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tanti auguri Marcone!!!!!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://questionmark.blogsome.com/"&gt;http://questionmark.blogsome.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1289246094621845479?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1289246094621845479/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1289246094621845479' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1289246094621845479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1289246094621845479'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/buon-compleanno.html' title='Buon Compleanno'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RxCc7yYDO2I/AAAAAAAAAFI/m4oWGksOtPk/s72-c/torta.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5862422626893331638</id><published>2007-10-11T10:58:00.000+02:00</published><updated>2007-10-11T11:05:48.801+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Ubuntu tips: template per nuovi file</title><content type='html'>Vi è mai capitato di cliccare col tasto destro del mouse su un qualsiasi punto non sensibile (ad esempio sul desktop oppure all'interno di una cartella)? Se si, avrete notato che la voce di menù "Crea documento" contiene solo "File vuoto"...dai che tristezza! Ma su con il morale, aggiungere template per nuovi files è facile come fare 1,2,3...&lt;br /&gt;In Gnome basta creare (se non esiste già) una cartella Templates nella vostra home directory:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;mkdir ~/Templates&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Da questo momento in poi, qualsiasi files metterete nella cartella ubuntu lo vedrà come un template iniziale per un nuovo files...facile no?&lt;br /&gt;Se cercate in giro per la rete trovate dei tar già pieni di files...questi sono quelli che ho messo io:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/Rw3nUSYDO1I/AAAAAAAAAEo/pQRMSanly7s/s1600-h/creadoc.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/Rw3nUSYDO1I/AAAAAAAAAEo/pQRMSanly7s/s320/creadoc.png" alt="" id="BLOGGER_PHOTO_ID_5120002687106235218" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5862422626893331638?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5862422626893331638/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5862422626893331638' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5862422626893331638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5862422626893331638'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/ubuntu-tips-template-per-nuovi-file.html' title='Ubuntu tips: template per nuovi file'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/Rw3nUSYDO1I/AAAAAAAAAEo/pQRMSanly7s/s72-c/creadoc.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-6067593038297221369</id><published>2007-10-03T11:23:00.003+02:00</published><updated>2011-07-26T17:36:14.204+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Mostrate le immagini con Lightbox</title><content type='html'>&lt;div style="text-align: justify;"&gt;Oggi, con la mente sgombra, vi consiglio uno script utilissimo per mostrare le immagini in un sito. Volete che cliccando su una immagine piccola, questa si apra magicamente al centro con tanto di resize dinamico e oscuri tutto il resto della pagina web? Niente di più semplice con &lt;a href="http://www.huddletogether.com/projects/lightbox2/"&gt;Lightbox2&lt;/a&gt;, veramente un ottimo progetto Javascript da includere nelle pagine web che necessitano dei suoi servigi...&lt;/div&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_CxowvyW17kU/RwNg8yYDO0I/AAAAAAAAAEc/s7cDi38PIgI/s1600-h/lightbox+example.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5117040199054080834" src="http://4.bp.blogspot.com/_CxowvyW17kU/RwNg8yYDO0I/AAAAAAAAAEc/s7cDi38PIgI/s320/lightbox+example.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;Vengono mostrate le immagini un po' come se fossero delle Polaroid :-D&lt;br /&gt;L'integrazione con le nostre pagine è molto semplice:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;scaricate il pacchetto lightbox2.zip dalla &lt;a href="http://www.huddletogether.com/projects/lightbox2/"&gt;pagina Web ufficiale&lt;/a&gt;&lt;/li&gt;&lt;li&gt;decompattatelo nella cartella del vostro sito (mettete i permessi giusti!)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;includete i tre file javascript necessari al funzionamento&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;script type="text/javascript" src="js/prototype.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/scriptaculous.js?load=effects"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="js/lightbox.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;ora includete il foglio di stile di lightbox:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen"&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;adesso non rimane altro che dire al browser come aprire il link all'immagine. Ogni volta che volete aprire una immagine mettete &lt;span style="font-size: 85%; font-style: italic;"&gt;&lt;span style="font-family: courier new;"&gt;rel="lightbox"&lt;/span&gt;&lt;/span&gt; nel link:&lt;br /&gt;&lt;pre name="code" class="html"&gt;&amp;lt;a href="images/image-1.jpg" rel="lightbox" title="my caption"&amp;gt;image #1&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Chiaramente al posto di image #1 ci andrà il codice dell'immagine, &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;&amp;lt;img src="..." /&amp;gt;&lt;/span&gt;&lt;/span&gt; eccetera! :-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-6067593038297221369?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/6067593038297221369/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=6067593038297221369' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6067593038297221369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/6067593038297221369'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/mostrate-le-immagini-con-lightbox.html' title='Mostrate le immagini con Lightbox'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RwNg8yYDO0I/AAAAAAAAAEc/s7cDi38PIgI/s72-c/lightbox+example.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-284168482073024066</id><published>2007-10-02T22:10:00.000+02:00</published><updated>2007-10-02T22:14:00.675+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Ho finito gli esami!!!</title><content type='html'>Oggi alle 16 ho dato il mio ultimo esame!! Finalmente, non ne potevo più...&lt;br /&gt;Se vi stavate chiedendo perchè scrivevo poco su questo blog ultimamente...era per quello :-D&lt;br /&gt;&lt;br /&gt;Ed ora un urlo liberatorio: AAAAAAAAAAAAAAAAAAAAAAAARRRRRRRRRGGGGGGGGGGGG!&lt;br /&gt;Mamma mia...veramente sforzo finale per arrivare in vetta...colpo di reni :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-284168482073024066?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/284168482073024066/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=284168482073024066' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/284168482073024066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/284168482073024066'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/10/ho-finito-gli-esami.html' title='Ho finito gli esami!!!'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-4243828800460288963</id><published>2007-09-26T23:24:00.000+02:00</published><updated>2007-09-26T23:42:20.727+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mondo'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Di ritorno dal Think Open</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;img src="http://4.bp.blogspot.com/_CxowvyW17kU/RsDeNWjsEvI/AAAAAAAAACU/SJVDWMcwVmY/s1600/zentux.png" alt="Tux" align="left" height="128" width="128" /&gt; Oggi mi son fatto un bel giretto a Rovigo insieme a Nick e a Marcone (un grazie a Marcone e a Fullo per gli inviti) per partecipare al &lt;a href="http://www.opensourceexpo.it/"&gt;Think Open 2007&lt;/a&gt;, manifestazione su tutto ciò che riguarda il software libero.&lt;br /&gt;Oltre ai vari stand presenti (che abbiamo visitato), erano presenti vari interventi su svariati temi. In particolare ho seguito:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;WEB 2.0: il futuro dei siti web e del PHP, incontro con Zeev Suraski Chief Technology Officer and Co Architect PHP.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SugarCRM Italian User Conference&lt;/li&gt;&lt;li&gt;Software Patents e GPL3 (presenti Richard Stallmann e Ciaran O'Riordan della Free Software Foundation!!!)&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Come avete capito, le personalità famose non mancavano (incontrare uno dei due creatori del php che nel 1997 partorirono php 3 poi è stato grandioso...)&lt;br /&gt;E le conferenze...tutte in inglese :-D Però si capiva bene. Allo stand della Zend mi hanno anche dato una versione per 30 giorni dell'ultimo Zend Studio...appena ho tempo lo installo e poi posto le mie impressioni.&lt;br /&gt;&lt;br /&gt;Vi lascio con un pensiero esposto dal Prof. Renzo Davoli durante l'intervento "Software Patents"(io l'ho riadattato, non è che me lo ricordo a memoria :-P):&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Vi immaginate se dovessimo pagare i diritti di un teorema matematico ogni volta che lo usiamo? Il software è scienza e cultura universale, e come tale deve essere libero.&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4243828800460288963?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4243828800460288963/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4243828800460288963' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4243828800460288963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4243828800460288963'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/di-ritorno-dal-think-open.html' title='Di ritorno dal Think Open'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RsDeNWjsEvI/AAAAAAAAACU/SJVDWMcwVmY/s72-c/zentux.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-925552141804629565</id><published>2007-09-22T12:01:00.000+02:00</published><updated>2007-09-22T12:31:18.674+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><title type='text'>Creare una shell remota su linux "on the fly"</title><content type='html'>Vediamo un veloce tips su come creare shell remote su un sistema linux.&lt;br /&gt;Ipotizziamo di riuscire ad eseguire un comando su una macchina remota (buffer overflow, vulnerabilità web...):&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;nc -vv -l -p 10000 -e /bin/sh&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Questo comando utilizza netcat, il coltellino svizzero del tcp/ip (come viene chiamato). Non fa altro che rimanere in ascolto (-l) sulla porta 10000 (-p) ed eseguire un comando (-e). In questo caso, esegue una shell di comando. Inutile dire che se eseguito come root, avrete da remoto i diritti dell'amministratore...&lt;br /&gt;Per provarla, basta collegarsi da un'altro computer (o dallo stesso se volete testarlo in locale, aprite un'altra scheda nel terminale) e digitare:&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;nc -vv localhost 10000&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Il (-vv) è il very verbose, utile ma non indispensabile. Certo, la shell è molto stupida (non ha colori; non riesce a ricevere input dopo l'esecuzione del comando, ad esempio premere la barra durante il comando more). Però funziona ;-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Contromisure&lt;/span&gt;: creare delle regole iptables che mantengano tutte le porte esterne chiuse (tranne quelle usate dai servizi indispensabili: la 80 per un server web ad esempio, rimarrà aperta).&lt;br /&gt;E' anche possibile creare uno script (eseguibile periodicamente via cron) che controlli le connessioni aperte. Per visualizzarle infatti è disponibile il comando:&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;netstat -an&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;In questo modo è possibile controllare le socket connected e listen ;-)&lt;br /&gt;&lt;br /&gt;PS: dopo aver terminato la prima connessione alla shell remota, quest'ultima si chiuderà. Per far si che rimanga aperta, bisogna creare uno script apposito...&lt;span style="font-style: italic;"&gt;google docet&lt;/span&gt; ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-925552141804629565?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/925552141804629565/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=925552141804629565' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/925552141804629565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/925552141804629565'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/creare-una-shell-remota-su-linux-on-fly.html' title='Creare una shell remota su linux &quot;on the fly&quot;'/><author><name>Stefano Bianchini</name><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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-5141030381647439409</id><published>2007-09-13T15:19:00.000+02:00</published><updated>2007-09-13T15:32:37.775+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu: clonare una partizione</title><content type='html'>Quando all'inizio di luglio ho deciso di usare ubuntu sul computer fisso (quindi come OS unico), ho utilizzando un vecchio disco da 20 giga. Ieri mi son preso un bel hard disk da 160 :) e ho avuto la necessità di trasferire tutto il sistema da un disco all'altro, ma non potevo clonarla perchè i disci sono di capacità diversa!&lt;br /&gt;Fortunatamente, Chuck Norris mi ha fatto notare che potevo risolvere in due modi:&lt;br /&gt;1) lui guardava male i due dischi e automaticamente si copiavano&lt;br /&gt;2) potevo usare Knoppix 5.11 che al suo interno ha gparted, che con un click col tasto destro permette di copiare una partizione su un altro disco...e poi di ridimensionarla!&lt;br /&gt;Inutile dire che ho usato la seconda opzione, Chuck aveva troppo da fare (sta cercando Mastella per ucciderlo, dice che è buono con il sugo con le cozze) e mi ha salutato con un calcio volante girato nella faccia.&lt;br /&gt;Amo linux...una cosa che nel mondo windows si fa pagando fior di soldi (Norton Ghost + Partition Magic) io l'ho fatta senza spendere un euro e in 22 minuti...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5141030381647439409?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5141030381647439409/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5141030381647439409' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5141030381647439409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5141030381647439409'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/ubuntu-clonare-una-partizione.html' title='Ubuntu: clonare una partizione'/><author><name>Stefano Bianchini</name><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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-828103387296395751</id><published>2007-09-08T10:49:00.000+02:00</published><updated>2007-09-08T11:01:36.483+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='samba'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu: Samba senza password</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/RuJkZAdjVNI/AAAAAAAAAEU/_68x3B_U7-k/s1600-h/workgroup.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/RuJkZAdjVNI/AAAAAAAAAEU/_68x3B_U7-k/s320/workgroup.png" alt="" id="BLOGGER_PHOTO_ID_5107755308175021266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Una delle cose comode di Ubuntu è l'avere la condivisione cartelle facilmente accessibile (Sistema - Amministrazione - Cartelle condivise). Purtroppo però nativamente richiede all'accesso a queste cartelle un nome utente e una password. Collegandosi tramite un MAC questo si può evitare imponendo utente e password vuoti. Da un sistema Windows invece non è possibile entrare in maniera semplice, poichè impone un nome utente (windows non accetta che mettiate vuoto l'utente per accedere ad una cartella condivisa).&lt;br /&gt;Una soluzione (un po' scomoda e lunga) è quella di creare un account utente samba (ci sono migliaia di tutorial in rete per questo), ma non è quello che ho intenzione di spiegare.&lt;br /&gt;La password sinceramente in una rete casalinga mi dà solo problemi...&lt;br /&gt;Per far si che anche Ubuntu somigli ad una semplice condivisione Windows, cioè SENZA RICHIESTA DI PASSWORD, digitiamo da terminale:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo gedit /etc/samba/smb.conf&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;e aggiungiamo nelle global settings (sotto la voce [global])&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;security = share&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;guest only = yes&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;A questo punto salviamo il tutto e riavviamo il demone samba:&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;sudo /etc/init.d/samba restart&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Adesso accedendo da un windows alle risorse di rete, finalmente si vedono le cartelle della mia Ubuntu senza immissione di password...comodità assurda!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-828103387296395751?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/828103387296395751/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=828103387296395751' title='5 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/828103387296395751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/828103387296395751'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/ubuntu-samba-senza-password.html' title='Ubuntu: Samba senza password'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RuJkZAdjVNI/AAAAAAAAAEU/_68x3B_U7-k/s72-c/workgroup.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1429488946432483812</id><published>2007-09-05T11:02:00.001+02:00</published><updated>2007-09-05T11:13:46.834+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Netbeans e Beryl: convivenza difficile?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/Rt5zHwdjVMI/AAAAAAAAAEM/Fr_i8rCNad0/s1600-h/netbeans_logo.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/Rt5zHwdjVMI/AAAAAAAAAEM/Fr_i8rCNad0/s320/netbeans_logo.gif" alt="" id="BLOGGER_PHOTO_ID_5106645604589851842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Netbeans è a mio avviso uno dei migliori IDE in circolazione per il linguaggio Java (non sono un fan di Eclipse).&lt;br /&gt;Ne faccio un uso spropositato durante i miei lavoretti in Java: fatto sta che ultimamente la combinazione Netbeans + Beryl dà come risultato una bella finestra vuota, completamente grigia al posto dell'IDE.&lt;br /&gt;Già avevo notato come Beryl ci mettesse lo zampino...disattivandolo e riattivandolo risbucava fuori come per magia tutta la visuale di Netbeans.&lt;br /&gt;Però volevo un metodo più scientifico :-) Mi son messo a cercare su internet...ed ecco trovata la soluzione! E' un noto bug di beryl + java...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;sudo gedit /etc/environment&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;e aggiungiamo la riga:&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;export AWT_TOOLKIT=MToolkit&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Salvare e riavviare (in teoria il server X, io per comodità ho proprio fatto un reboot).&lt;br /&gt;In attesa che sistemino il bug, questo metodo con me ha funzionato :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1429488946432483812?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1429488946432483812/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1429488946432483812' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1429488946432483812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1429488946432483812'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/netbeans-e-beryl-convivenza-difficile.html' title='Netbeans e Beryl: convivenza difficile?'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/Rt5zHwdjVMI/AAAAAAAAAEM/Fr_i8rCNad0/s72-c/netbeans_logo.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-1207317326812093051</id><published>2007-09-04T17:46:00.002+02:00</published><updated>2009-03-23T20:28:19.826+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Gnome: thumbnails (miniature) obsolete</title><content type='html'>&lt;div style="text-align: justify;"&gt;Mi è capitato per la seconda volta di scaricare le immagini dalla fotocamera digitale al mio PC ubuntu. La prima volta erano foto di mia mamma (che fa la maestra elementare); la seconda volta, dopo una formattazione della scheda XD, sono foto della vacanza in montagna.&lt;br /&gt;Ubuntu monta in automatico la fotocamera, vado nella cartella delle foto pronto a fare copia e incolla...e cavolo vedo che dentro la fotocamera CI SONO LE FOTO DI MIA MAMMA ALLA SCUOLA??&lt;br /&gt;Chissà cosa vado a pensare...formattazione fatta male...o cosa? Incuriosito clicco su una foto...e il visualizzatore invece che cartelle e astucci (come da anteprima) mi mostra il paradisiaco paesaggio montanaro!!&lt;br /&gt;&lt;br /&gt;TUTTA COLPA DELL'ANTEPRIMA!!&lt;br /&gt;&lt;br /&gt;Felice per lo scampato pericolo, sono voluto andare a fondo nella faccenda. Nautilus (il gestore files di Ubuntu sotto Gnome) salva le anteprime in una cartella dell'utente:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/home/stefano/Desktop/Home/.thumbnails/normal&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in particolare usa un procedimento secondo me SBAGLIATO: a quanto ho capito, crea miniature solo in base al percorso+nome del file (ad esempio, fa md5("/home/stefano/immagine.png") e le mette nella cartella miniature.&lt;br /&gt;Io però nella fotocamera, collegandola in due momenti diversi dopo la formattazione della schedina, posso avere immagini con lo stesso percorso ma contenuto ben diverso...&lt;br /&gt;Perchè purtroppo non hanno pensato a questa eventualità? Ad esempio, potrebbero aggiungere alla funzione hash la dimensione del files..&lt;br /&gt;Se invece è così...ho avuto la sfiga di avere percorso+dimensione esattamente identici...ma per 100 foto? Mi sembra strano...100 collisioni...&lt;br /&gt;&lt;br /&gt;E non bastava cliccare su "Aggiorna", ho dovuto eliminare tutte le miniature! Chiaramente ricreandole questa volta erano giuste, non quelle vecchie...&lt;br /&gt;Ohibò...ho trovato un bug di Gnome :-D&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Lasciatemi commenti con la vostra esperienza please :-)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold;"&gt;EDIT&lt;/span&gt;: ho creato &lt;a href="http://stefanobianchini.blogspot.com/2009/03/corydoras.html"&gt;un nuovo post&lt;/a&gt; con una descrizione dell'applicazione Corydoras, nata appositamente per aiutare l'utente nel tenere sotto controllo le miniature!! E i miei complimenti al creatore di questo utile programmino :-D&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-1207317326812093051?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/1207317326812093051/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=1207317326812093051' title='5 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1207317326812093051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/1207317326812093051'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/gnome-thumbnails-miniature-obsolete.html' title='Gnome: thumbnails (miniature) obsolete'/><author><name>Stefano Bianchini</name><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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8682736204380861377</id><published>2007-09-03T11:32:00.000+02:00</published><updated>2007-09-03T11:39:15.812+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mondo'/><title type='text'>15 ottobre: un post sull'ambiente</title><content type='html'>Ho deciso che anche io, come tanti altri, scriverò un post sull'ambiente il 15 ottobre. Ne approfitto per mostrare qualche dettaglio dell'iniziativa: il &lt;a href="http://blogactionday.org/"&gt;sito ufficiale&lt;/a&gt;&lt;br /&gt;Questo è uno dei tanti banner:&lt;br /&gt;&lt;a href="http://blogactionday.org/"&gt; &lt;img src="http://blogactionday.org/images/action_468x60.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ma soprattutto, vi mostro il video&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WfO8mGjXoe8"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/WfO8mGjXoe8" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Inutile dire che l'ambiente per me è importante...consiglio vivamente a tutti i miei amici bloggers che facciano altrettanto :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8682736204380861377?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8682736204380861377/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8682736204380861377' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8682736204380861377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8682736204380861377'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/15-ottobre-un-post-sullambiente.html' title='15 ottobre: un post sull&apos;ambiente'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-4226534903743903371</id><published>2007-09-01T18:10:00.000+02:00</published><updated>2007-09-01T18:17:53.072+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>OnTV: la guida TV di Gnome</title><content type='html'>Che chicca che ho trovato girovagando in un blog! Una applet Gnome (come tale si può aggiungere a un pannello gnome) che mostra in tempo reale il palinsesto delle reti televisive...&lt;br /&gt;Ho pensato subito: beh, però magari l'italia non c'è...e invece c'è, anche con parecchi canali.&lt;br /&gt;Il risultato è fenomenale...&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RtmPtwdjVLI/AAAAAAAAAEE/TqTGcWRLpa0/s1600-h/onTV.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RtmPtwdjVLI/AAAAAAAAAEE/TqTGcWRLpa0/s320/onTV.png" alt="" id="BLOGGER_PHOTO_ID_5105269668866905266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Installazione? Semplicissima: &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install ontv&lt;/span&gt;&lt;/span&gt;. Dopo l'installazione va aggiunta ad un pannello (click destro su un qualsiasi pannello Gnome -&gt; Aggiungi al pannello -&gt; OnTv, lo trovate giù negli Accessori). A questo punto inizia la configurazione...selezionate la nazione e successivamente i canali televisivi che vi interessano.&lt;br /&gt;Così adesso se sono a computer e qualcosa che mi interessa inizia lo vedo al volo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4226534903743903371?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4226534903743903371/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4226534903743903371' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4226534903743903371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4226534903743903371'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/09/ontv-la-guida-tv-di-gnome.html' title='OnTV: la guida TV di Gnome'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/RtmPtwdjVLI/AAAAAAAAAEE/TqTGcWRLpa0/s72-c/onTV.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7637652928688881139</id><published>2007-08-29T23:54:00.000+02:00</published><updated>2007-08-30T00:02:50.618+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Val di Fassa, ti adoro</title><content type='html'>Rilassato. Ritemprato. Nella pace dei sensi. E' così che mi sento: ho passato cinque giorni veramente belli. Passeggiate nella natura all'ombra delle dolomiti tutto il giorno, aria buona e tempo bello. Tanti impianti di risalita presi...quest'anno sono arrivato a quota 2700 metri sul livello del mare: la prossima volta oserò di più :-D&lt;br /&gt;Mi sento pronto per ricominciare...a studiare e a produrre (vedi progetto &lt;a href="http://valkyrja.sourceforge.net/"&gt;valkyrja&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;A proposito...non facevo solo passeggiate: erano le 18:30 e ci facevano male le gambe...così abbiamo provato il centro benessere del nostro albergo (&lt;a href="http://www.hotelalaska.net/"&gt;Hotel Alaska&lt;/a&gt;), gratis! Per la cronaca: in questo albergo siamo stati veramente, veramente bene! Credo di essere ingrassato..che per me è incredibile!&lt;br /&gt;Vi allego un po' di foto, giusto per rendere l'idea del relax :-D&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RtXsjgdjVHI/AAAAAAAAADk/embNckWyaHk/s1600-h/wellness.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RtXsjgdjVHI/AAAAAAAAADk/embNckWyaHk/s320/wellness.jpg" alt="" id="BLOGGER_PHOTO_ID_5104245847447786610" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RtXspgdjVII/AAAAAAAAADs/bpIm_7dpqrE/s1600-h/wellness01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RtXspgdjVII/AAAAAAAAADs/bpIm_7dpqrE/s320/wellness01.jpg" alt="" id="BLOGGER_PHOTO_ID_5104245950527001730" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RtXsuAdjVJI/AAAAAAAAAD0/cdkLVoLv2bg/s1600-h/wellness03.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RtXsuAdjVJI/AAAAAAAAAD0/cdkLVoLv2bg/s320/wellness03.jpg" alt="" id="BLOGGER_PHOTO_ID_5104246027836413074" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RtXszAdjVKI/AAAAAAAAAD8/udre_azOoTU/s1600-h/wellness02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RtXszAdjVKI/AAAAAAAAAD8/udre_azOoTU/s320/wellness02.jpg" alt="" id="BLOGGER_PHOTO_ID_5104246113735759010" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7637652928688881139?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7637652928688881139/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7637652928688881139' title='4 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7637652928688881139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7637652928688881139'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/val-di-fassa-ti-adoro.html' title='Val di Fassa, ti adoro'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RtXsjgdjVHI/AAAAAAAAADk/embNckWyaHk/s72-c/wellness.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7209397606154335419</id><published>2007-08-24T13:16:00.000+02:00</published><updated>2007-08-24T13:37:36.326+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Vacanze in montagna!</title><content type='html'>Per 5 giorni il blog si ferma...vado in vacanza sulle Dolomiti! Precisamente vado a Pozza di Fassa, per rilassarmi un po'. Speriamo nel tempo...&lt;br /&gt;&lt;br /&gt;Eccovi però un regalino: pubblico la foto della webcam...così da questo blog si potrà vedere com'è il clima lassù :-D&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fassaweb.net/webcampozzadifassa.aspx"&gt;&lt;img src="http://www.fassaweb.net/webcam/ht000104.jpg" alt="Pozza di Fassa" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7209397606154335419?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7209397606154335419/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7209397606154335419' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7209397606154335419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7209397606154335419'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/vacanze-in-montagna.html' title='Vacanze in montagna!'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-5663700746556998918</id><published>2007-08-22T13:53:00.001+02:00</published><updated>2007-08-22T14:29:22.139+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Un pannello di controllo LAMP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RswqlwdjVFI/AAAAAAAAADU/eMLUpDzRGo0/s1600-h/linux_inside.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 135px; height: 135px;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RswqlwdjVFI/AAAAAAAAADU/eMLUpDzRGo0/s320/linux_inside.png" alt="" id="BLOGGER_PHOTO_ID_5101499306056307794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Oggi mi sono divertito un po' a scrivere uno script per la gestione di Apache2 e MySql. Eh, con Xampp era più semplice...tutti i servizi sotto controllo!Perché non ricreare una cosa simile in Linux? In aiuto ci viene la shell e il programma zenity (per Gnome, divertitevi ad impararlo &lt;a href="http://linux.byexamples.com/archives/259/a-complete-zenity-dialog-examples-1/"&gt;qui&lt;/a&gt; e &lt;a href="http://linux.byexamples.com/archives/265/a-complete-zenity-dialog-examples-2/"&gt;qui&lt;/a&gt;); quest'ultimo gestisce varie tipologie di finestre (informazioni, errori, notifiche, eccetera). Se zenity non è presente nella vostra linux box, installatelo (&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install zenity&lt;/span&gt;&lt;/span&gt;).&lt;br /&gt;Chiaramente è uno script molto semplificato e non esente da bug (perlomeno così immagino), quindi lasciate pure commenti!&lt;br /&gt;Il codice può essere scaricato dal seguente link (è un file .sh):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.box.net/shared/7k800qs310"&gt;http://www.box.net/shared/7k800qs310&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ricordatevi di mettere i permessi giusti (&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;chmod +x lamp.sh&lt;/span&gt;&lt;/span&gt;) e di eseguirlo con gksu (&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;gksu lamp.sh&lt;/span&gt;&lt;/span&gt;).&lt;br /&gt;Qui vi mostro uno screenshot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RswrEQdjVGI/AAAAAAAAADc/0WZgQGdtoy4/s1600-h/lamp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RswrEQdjVGI/AAAAAAAAADc/0WZgQGdtoy4/s320/lamp.png" alt="" id="BLOGGER_PHOTO_ID_5101499830042317922" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-5663700746556998918?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/5663700746556998918/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=5663700746556998918' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5663700746556998918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/5663700746556998918'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/un-pannello-di-controllo-lamp.html' title='Un pannello di controllo LAMP'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RswqlwdjVFI/AAAAAAAAADU/eMLUpDzRGo0/s72-c/linux_inside.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3484751690161468434</id><published>2007-08-21T17:13:00.000+02:00</published><updated>2007-08-21T17:41:21.998+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Gnome: cambiare lo splash screen</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RssG5AdjVEI/AAAAAAAAADM/-KWYWorWepk/s1600-h/Gnome.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RssG5AdjVEI/AAAAAAAAADM/-KWYWorWepk/s320/Gnome.png" alt="" id="BLOGGER_PHOTO_ID_5101178579373478978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Immaginiamo di aver creato una bella immagine con GIMP (vedi tutorial scritto in precedenza).&lt;br /&gt;Desideriamo impostarla come splash screen al caricamento di Gnome? Niente di più facile. In Gnome esiste un bellissimo tool simile al (bleah) regedit di windows, chiamato gconf-editor. Quindi digitiamo ALT+F2 per fare comparire la finestrella "Esegui applicazione" e digitiamo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;gconf-editor&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ora cerchiamo, navigando l'albero, il percorso:&lt;br /&gt;apps-&gt;gnome-session-&gt;options&lt;br /&gt;All'interno troveremo le seguenti chiavi:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;show_splash_screen&lt;/span&gt;&lt;/span&gt; per abilitare o disabilitare lo splash;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;splash_image&lt;/span&gt; per modificare la posizione dell'immagine da usare;&lt;/li&gt;&lt;/ul&gt;Per splash_image la stringa di default è splash/ubuntu-splash.png. Modifichiamo con un qualsiasi altro percorso (completo, non dimenticatevi la / iniziale, del genere /home/stefano/splash.png)&lt;br /&gt;&lt;br /&gt;Divertitevi a creare gli splash screen che più vi ispirano :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3484751690161468434?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3484751690161468434/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3484751690161468434' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3484751690161468434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3484751690161468434'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/gnome-cambiare-lo-splash-screen.html' title='Gnome: cambiare lo splash screen'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RssG5AdjVEI/AAAAAAAAADM/-KWYWorWepk/s72-c/Gnome.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8654702923877954530</id><published>2007-08-19T19:34:00.000+02:00</published><updated>2007-08-19T19:35:57.057+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Commenti liberi!</title><content type='html'>Messaggio di servizio: ho abilitato tutti a postare i commenti, vediamo cosa succede...alcuni miei amici han detto che non avevano un account google e quindi non potevano commentare!&lt;br /&gt;Ma se trovo commenti di robots...tornerò sulla mia scelta :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8654702923877954530?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8654702923877954530/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8654702923877954530' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8654702923877954530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8654702923877954530'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/commenti-liberi.html' title='Commenti liberi!'/><author><name>Stefano Bianchini</name><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><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3564833837639591357</id><published>2007-08-18T10:21:00.001+02:00</published><updated>2007-08-21T17:41:41.946+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Php: gestire i download</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RsawogdjVDI/AAAAAAAAADE/IGzUntuLXnE/s1600-h/radioactive.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RsawogdjVDI/AAAAAAAAADE/IGzUntuLXnE/s320/radioactive.png" alt="" id="BLOGGER_PHOTO_ID_5099957837998806066" border="0" /&gt;&lt;/a&gt; Vediamo oggi come scrivere poche righe di php per forzare lo scaricamento di un file.&lt;br /&gt;Spesso infatti si ha la necessità di mettere files sul proprio webserver non direttamente scaricabili (ad esempio, i vari server per l'hosting gratuito di file come &lt;a href="http://www.box.net/"&gt;http://www.box.net&lt;/a&gt;). In questo caso non si usano link diretti ai file scaricabili, ma pagine che permettono di scaricare files contenuti in directory nascoste e non accessibili dall'esterno.&lt;br /&gt;Attenzione però alla sicurezza: un downloader non deve fare scaricare files sensibili!Quindi non create obbrobri di questo tipo: &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;download.php?file=Documento.pdf&lt;/span&gt;&lt;/span&gt; e magari &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;$filename=$_REQUEST["file"]&lt;/span&gt;&lt;/span&gt; (vedi codice sotto per intenderci). Una richiesta malevola (&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;download.php?file=../../../../../../etc/passwd&lt;/span&gt;&lt;/span&gt;) può combinare dei bei casini...Meglio appoggiarsi ad un database con corrispondenze stringaID-&gt;nomefile; ad esempio, la stringa "ad6cjf6d5s" fa riferimento a "Documento.pdf". La richiesta allo script (che quindi dovrà leggere dal DB) sarà &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;download.php?id=ad6cjf6d5s&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;Mostro adesso un semplice script, che non ha le caratteristiche di lettura dal DB appena citate, ma può servire come base per una successiva modifica :-)&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;lt;?&lt;br /&gt;$filename&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Documento.pdf"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Pragma: public"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Expires: 0"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Cache-Control: must-revalidate, post-check=0, pre-check=0"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Cache-Control: private"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;false&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Content-Type: application/force-download"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Content-Disposition: attachment; filename=\"" &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$filename &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"\";"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Content-Description: File Transfer"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Content-Transfer-Encoding: binary"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;header &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Content-Length: " &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;. &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;filesize &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$filename&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;));&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;set_time_limit &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;@&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;readfile &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$filename&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;Come potete vedere, il file da scaricare è "Documento.pdf", ma può essere automatizzato (con tutti gli accorgimenti di sicurezza del caso, come ho descritto in precedenza). Vengono inviati i vari header al browser dopodichè viene inviato tutto il contenuto del file (readfile), con particolare attenzione ad eludere il time limit del php (il file da scaricare può anche essere parecchi mega, e portare via parecchio tempo).&lt;br /&gt;&lt;br /&gt;Buon php a tutti!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3564833837639591357?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3564833837639591357/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3564833837639591357' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3564833837639591357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3564833837639591357'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/php-gestire-i-download.html' title='Php: gestire i download'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/RsawogdjVDI/AAAAAAAAADE/IGzUntuLXnE/s72-c/radioactive.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7648644292355231010</id><published>2007-08-17T09:49:00.000+02:00</published><updated>2007-08-17T09:49:29.320+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>GIMP: creare uno scenario spaziale</title><content type='html'>Sul sito &lt;a href="ttp://www.gimptalk.com/"&gt;gimptalk.com&lt;/a&gt; ho trovato una &lt;a href="ttp://www.gimptalk.com/forum/topic/Space-Tutorial-1569-1.html"&gt;guida&lt;/a&gt; su come ricreare una scena dello spazio. I passi sono pochi e semplici (io che non ne so mezza di GIMP l'ho fatto in 30 secondi, giusto il tempo di pensare: "woh, che figata"). Vediamo i passi in dettaglio:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Creare una nuova immagine (io l'ho fatta 500x300 per lo Splash screen di Ubuntu)&lt;/li&gt;&lt;li&gt;Impostare il colore Foreground a Nero&lt;/li&gt;&lt;li&gt;Usiamo il Fill Tool  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RsSMYwdjVAI/AAAAAAAAACs/NxlPPIx6a4c/s1600-h/fill.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RsSMYwdjVAI/AAAAAAAAACs/NxlPPIx6a4c/s320/fill.png" alt="" id="BLOGGER_PHOTO_ID_5099355035043845122" border="0" /&gt;&lt;/a&gt; per riempire lo sfondo dell'immagine di nero&lt;/li&gt;&lt;li&gt;Ora selezioniamo dal menù Filters-&gt;Noise-&gt;Scatter HSV&lt;/li&gt;&lt;li&gt;Nella finestra che viene fuori, impostiamo il valore HUE a 255, e proviamo a giocare con i restanti parametri&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RsSMqAdjVBI/AAAAAAAAAC0/2lCfRx87r4w/s1600-h/Schermata-Scatter+HSV.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RsSMqAdjVBI/AAAAAAAAAC0/2lCfRx87r4w/s320/Schermata-Scatter+HSV.png" alt="" id="BLOGGER_PHOTO_ID_5099355331396588562" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Ora andiamo su Filters-&gt;Light Effects-&gt;Gflare e divertiamoci come non mai a provare tutti gli effetti fino al risultato desiderato (anche più volte, mettiamo queste sorgenti di luce, che siano stelle o cosa, dove vogliamo)&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/RsSNVgdjVCI/AAAAAAAAAC8/g3cRdL6M-C8/s1600-h/Schermata-FlareFX.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/RsSNVgdjVCI/AAAAAAAAAC8/g3cRdL6M-C8/s320/Schermata-FlareFX.png" alt="" id="BLOGGER_PHOTO_ID_5099356078720898082" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Usiamo Filters-&gt;Light Effects-&gt;FlareFX per sistemare i riflessi della luce&lt;/li&gt;&lt;li&gt;Aggiungiamo l'effetto motion blur (è troppo bello): Filters&gt;Blur&gt;Motion Blur e selezioniamo la funzione Zoom (il valore ve lo consiglio su 3/4, non più di 5 che viene fuori uno shifo degno del regista di Lucignolo di Italia Uno).&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RsSL2AdjU_I/AAAAAAAAACk/bKNN4oQKp1Y/s1600-h/finale.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RsSL2AdjU_I/AAAAAAAAACk/bKNN4oQKp1Y/s320/finale.png" alt="" id="BLOGGER_PHOTO_ID_5099354438043390962" border="0" /&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/4120451589748876420-7648644292355231010?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7648644292355231010/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7648644292355231010' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7648644292355231010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7648644292355231010'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/gimp-creare-uno-scenario-spaziale.html' title='GIMP: creare uno scenario spaziale'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/RsSMYwdjVAI/AAAAAAAAACs/NxlPPIx6a4c/s72-c/fill.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-9029086630066346277</id><published>2007-08-16T13:08:00.001+02:00</published><updated>2007-08-16T14:01:40.013+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Film Parodia: Ridoppiaggio</title><content type='html'>C'è chi dice che più di guardano film che fan ridere più si sta meglio :-)&lt;br /&gt;Mi permetto di consigliarvi due siti:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.carlettofx.com/"&gt;http://www.carlettofx.com/&lt;/a&gt; Sito di Carletto, il cantante dei Gemboy: qui di trovano 4 delle più belle parodie ridoppiate di tutti i tempi.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.stevenworks.com/"&gt;http://www.stevenworks.com&lt;/a&gt;  Sito che raccoglie veramente una marea di parodie&lt;/li&gt;&lt;/ul&gt;Scaricateli e divertitevi!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-9029086630066346277?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/9029086630066346277/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=9029086630066346277' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/9029086630066346277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/9029086630066346277'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/film-parodia-ridoppiaggio.html' title='Film Parodia: Ridoppiaggio'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-7122122924797575567</id><published>2007-08-15T00:29:00.000+02:00</published><updated>2007-08-15T00:47:00.763+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Ubuntu 1, Windows 0</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RsIv9mjsEwI/AAAAAAAAACc/-CKBGLgEJr4/s1600-h/tuxubuntu.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RsIv9mjsEwI/AAAAAAAAACc/-CKBGLgEJr4/s320/tuxubuntu.png" alt="" id="BLOGGER_PHOTO_ID_5098690463505584898" border="0" /&gt;&lt;/a&gt;Oggi mi è capitato di dover installare windows XP a casa dei miei cugini. Due dischi: in uno già con win, l'altro ci dovevamo installare un'altro windows per le prove (giochi, programmi beta...). Se non fosse che il BootMagic vuole il disco su cui essere installato formattato in FAT32: mamma mia, antidiluviano. Vabbè penso, Xp si installa su FAT32...eh, magari. Supporta fino a 32 GB: è un disco da 120GB...Ok. Niente panico.&lt;br /&gt;Destino vuole che mio cugino ha un CD di Ubuntu che gli hanno regalato all'università (Dio benedica quel sant'uomo che glielo ha dato). Schiaffo il cd, parte in Live, mi vede tutti i dischi SATA, formatto in FAT32. Ottimo.&lt;br /&gt;Finito? Magari. Windows rompe perchè non trova i dischi: normale, è SATA. Dove Ubuntu trova da solo, Win vuole un fottuto floppy disk con i driver. MA DICO IO, UN PROGRAMMA COMMERCIALE è più scarso di uno gratis...&lt;br /&gt;&lt;br /&gt;Bah. Meditate gente: Opensource sempre e comunque, quando si può fare a meno dei .exe :-)&lt;br /&gt;&lt;br /&gt;Per la cronaca: oggi sono stato contattato dal Brasile con complimenti per &lt;a href="http://valkyrja.sourceforge.net/"&gt;Valkyrja&lt;/a&gt;, il progetto GPL di una amministrazione Firewall e affini completamente in Php. Mi ha anche chiesto di sviluppi futuri.&lt;br /&gt;Queste sono le cose che mi fanno tornare a scrivere del nuovo codice :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7122122924797575567?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7122122924797575567/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7122122924797575567' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7122122924797575567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7122122924797575567'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/ubuntu-1-windows-0.html' title='Ubuntu 1, Windows 0'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RsIv9mjsEwI/AAAAAAAAACc/-CKBGLgEJr4/s72-c/tuxubuntu.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8283301603879991146</id><published>2007-08-14T00:27:00.000+02:00</published><updated>2007-08-14T00:49:23.271+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>La storia di Linux: il più grande sistema operativo mai esistito</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/RsDeNWjsEvI/AAAAAAAAACU/SJVDWMcwVmY/s1600-h/zentux.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/RsDeNWjsEvI/AAAAAAAAACU/SJVDWMcwVmY/s320/zentux.png" alt="" id="BLOGGER_PHOTO_ID_5098319099158336242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Googleando in giro (verbo coniato or ora) cercando tutorial per Honeyd (un mio futuro post, vedrete), mi sono imbattuto in un sito chiamato "Sistemisti indipendenti" &lt;a href="http://www.sistemistiindipendenti.org/"&gt;http://www.sistemistiindipendenti.org.&lt;/a&gt; Un bel sito, pieno di articoli interessanti (tra cui anche una guida per honeyd)....mi perdevo negli articoli per il networking quando il cursore del mouse si è posato su un titolo: "Il più grande sistema operativo mai esistito". Preso dalla curiosità, ho chiaramente cliccato e letto: parla minuziosamente (e bene) della storia di Linux, del suo creatore, del rapporto con il progetto GNU della Free Software Foundation. Certo è un po' datato (è del 2003, ma il passato non è che cambia), io però 10 minuti per leggerlo li spenderei volentieri...l'articolo potete trovarlo a questo indirizzo:&lt;br /&gt;&lt;a href="http://www.sistemistiindipendenti.org/modules/sections/index.php?op=viewarticle&amp;artid=2"&gt;http://www.sistemistiindipendenti.org/modules/sections/index.php?op=viewarticle&amp;amp;artid=2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Buon software libero a tutti!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8283301603879991146?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8283301603879991146/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8283301603879991146' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8283301603879991146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8283301603879991146'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/la-storia-di-linux-il-pi-grande-sistema.html' title='La storia di Linux: il più grande sistema operativo mai esistito'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RsDeNWjsEvI/AAAAAAAAACU/SJVDWMcwVmY/s72-c/zentux.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7279180989326016845</id><published>2007-08-09T19:04:00.000+02:00</published><updated>2007-08-09T19:33:00.552+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Creare file PDF con Php</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/RrtM2mjsEuI/AAAAAAAAACM/bvV7QcBIq8s/s1600-h/PDF_icon.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/RrtM2mjsEuI/AAAAAAAAACM/bvV7QcBIq8s/s320/PDF_icon.jpg" alt="" id="BLOGGER_PHOTO_ID_5096751904246731490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Visto che avevo parlato dei file zip creati con php, perchè non parlare anche dei file PDF? Sempre più questo formato prende piede ogni giorno...e potremmo avere la necessità di creare on-the-fly dei file PDF con i contenuti più vari. Le soluzioni native del Php sono praticamente tutte a pagamento oppure negate per un uso commerciale.&lt;br /&gt;Ecco che viene in aiuto il mondo open-source con due progetti!&lt;br /&gt;Il primo, chiamato FPDF (&lt;a href="http://www.fpdf.org/"&gt;http://www.fpdf.org&lt;/a&gt;) è una classe che permette tramite semplici comandi di creare un PDF. Nel sito si trovano tutti gli esempi e i tutorial (ce ne sono veramente tanti). Come noterete in questa classe tutto è "cella", cioè per l'inserimento delle tabelle ad esempio tutto deve essere scritto con cura maniacale (questa cella con questo contenuto qui, quest'altra qua di queste dimensioni...).&lt;br /&gt;Perchè non usare un linguaggio conosciuto e semplice come l'HTML?? La risposta ce la dà il secondo progetto, che si basa su FPDF ma si chiama HTML2(F)PDF (&lt;a href="http://html2fpdf.sourceforge.net/"&gt;http://html2fpdf.sourceforge.net/&lt;/a&gt;) che permette in poche istruzioni di creare un file PDF...scrivendo in html!!&lt;br /&gt;Bene. Ora i test: andate sul sito di html2fpdf e scaricate lo zippone che contiene tutto (dentro c'è anche fpdf). Importantissimo dentro c'è una cartella fonts, NON eliminatela!&lt;br /&gt;Ho creato un semplice file per provare le funzionalità dello script:&lt;br /&gt;&lt;br /&gt;&lt;div style="background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;&amp;lt;?&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;require_once(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"html2fpdf.php"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$html&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;file_get_contents&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"filehtml.html"&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$pdf&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;=new &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;HTML2FPDF&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$pdf &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&amp;gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;AddPage&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$pdf &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&amp;gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;WriteHTML&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$html&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;$pdf &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;-&amp;gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;Output &lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'prova.pdf'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'I'&lt;/span&gt;&lt;span style="color: rgb(0, 119, 0);"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 187);"&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;In filehtml.html ho scritto il codice da trasformare, ho provato poche cose (ma nel sito c'è la lista completa dei tags supportati): ho provato un &lt;span style="font-style: italic;"&gt;center&lt;/span&gt;, un &lt;span style="font-style: italic; font-weight: bold;"&gt;b&lt;/span&gt; (grassetto), e una &lt;span style="font-style: italic;"&gt;immagine&lt;/span&gt;. Notate che avrei potuto scrivere il codice HTML direttamente dentro la variabile $html (e quindi non necessariamente leggerlo da un file).&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0); font-weight: bold;"&gt;BUG&lt;/span&gt;: incredibile a dirsi, ma su linux non supporta i file GIF! Almeno credo su linux, forse anche su windows (sulla mia ubuntu non va, e secondo google tanti hanno questo problema), fate un po' di prove...in sostanza se non trova le immagini contenute nel codice html, carica una immagine no_img.gif, e subito dopo dà errore irreversibile di lettura sulla gif...niente da fare, sostituendo con un'altra gif o cambiando i permessi è sempre uguale...appena ho inserito però una PNG....magia, tutto funziona! Non arrabbiatevi, visto che è gratis: un motivo in più per passare al formato PNG ;-)&lt;br /&gt;&lt;br /&gt;Buon php a tutti!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7279180989326016845?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7279180989326016845/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7279180989326016845' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7279180989326016845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7279180989326016845'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/creare-file-pdf-con-php.html' title='Creare file PDF con Php'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RrtM2mjsEuI/AAAAAAAAACM/bvV7QcBIq8s/s72-c/PDF_icon.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-4910549393708063696</id><published>2007-08-08T11:16:00.001+02:00</published><updated>2011-07-29T12:24:55.914+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>Creare file zip con Php</title><content type='html'>&lt;a href="http://www.php.net/images/logos/php-power-micro.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img align="left" alt="" border="0" src="http://www.php.net/images/logos/php-power-micro.png" style="cursor: pointer;" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;Primo post riguardante Php finalmente! Bene, oggi scrivo un metodo per creare file compressi (in formato zip) con il linguaggio Php. Niente di trascendentale: andate all'indirizzo &lt;a href="http://www.phpconcept.net/pclzip/index.en.php"&gt;http://www.phpconcept.net/pclzip/index.en.php &lt;/a&gt; e scaricate la libreria PclZip. Ora vi mostro un semplice file php che ho usato per testarne il funzionamento.&lt;br /&gt;&lt;pre name="code" class="php"&gt;$backupFile=&amp;quot;archive&amp;quot;.date(&amp;quot;dmY&amp;quot;).&amp;quot;.zip&amp;quot;;&lt;br /&gt;//Se esiste gi&amp;agrave;, lo cancello&lt;br /&gt;if (file_exists($backupFile)) @unlink($backupFile);&lt;br /&gt;//Includo la libreria e genero l&amp;#039;oggetto zip&lt;br /&gt;require_once(&amp;#039;pclzip-2-6/pclzip.lib.php&amp;#039;);&lt;br /&gt;$archive = new PclZip($backupFile);&lt;br /&gt;//Una lista di nomi di files da comprimere&lt;br /&gt;$listOfFilesToCompress=&amp;quot;backup.php,prova.php&amp;quot;;&lt;br /&gt;//Aggiungo i files all&amp;#039;archivio&lt;br /&gt;$v_list = $archive-&amp;gt;add($listOfFilesToCompress);&lt;br /&gt;if ($v_list == 0) {&lt;br /&gt;die(&amp;quot;Error : &amp;quot;.$archive-&amp;gt;errorInfo(true));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Opzionale: faccio scaricare il file zip&lt;br /&gt;header(&amp;quot;Content-type: application/zip&amp;quot;);&lt;br /&gt;header(&amp;quot;Content-Disposition: attachment; filename=$backupFile&amp;quot;);&lt;br /&gt;header(&amp;quot;Content-Description: Backup&amp;quot;);&lt;br /&gt;header(&amp;quot;Content-Length: &amp;quot;.filesize($backupFile));&lt;br /&gt;readfile($backupFile);&lt;br /&gt;&lt;/pre&gt;Io ho utilizzato una stringa che contiene i nomi dei files da aggiungere all'archivio compresso, e devono essere tutti separati da una virgola. Risoluzione ad un problema comune: tra un file e l'altro mettete solo la virgola e NON gli spazi (ad esempio: "backup.php,prova.php" e NON "backup.php, prova.php") altrimenti la libreria darà errore.&lt;br /&gt;Che altro...se dovete comprimere una cartella, dovrete fare un ciclo su tutti i files contenuti nella cartella (usate opendir eccetera).&lt;br /&gt;Se notate ho anche scritto alcune righe per lo scaricamento automatico del file zip risultante:&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_CxowvyW17kU/RrmRKmjsEtI/AAAAAAAAACE/b-LyvCMOmxA/s1600-h/phpzip1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5096264064681382610" src="http://2.bp.blogspot.com/_CxowvyW17kU/RrmRKmjsEtI/AAAAAAAAACE/b-LyvCMOmxA/s320/phpzip1.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;Per altre informazioni (ad esempio sull'estrazione automatica) riguardanti le caratteristiche di PclZip vi rimando al manuale del sito ufficiale:&lt;br /&gt;&lt;a href="http://www.phpconcept.net/pclzip/man/en/index.php?understand"&gt;http://www.phpconcept.net/pclzip/man/en/index.php?understand&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Buon Php a tutti!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4910549393708063696?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4910549393708063696/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4910549393708063696' title='9 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4910549393708063696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4910549393708063696'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/creare-file-zip-con-php.html' title='Creare file zip con Php'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/RrmRKmjsEtI/AAAAAAAAACE/b-LyvCMOmxA/s72-c/phpzip1.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-721951629720833588</id><published>2007-08-07T10:42:00.000+02:00</published><updated>2007-08-07T11:02:09.205+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Gnome PowerToys</title><content type='html'>Titolo semiserio per introdurre alcune funzioni interessanti nel nostro Nautilus, il file manager di Gnome. A me farebbe comodo, ad esempio, che cliccando col destro su un file/cartella potessi aprirlo/a come amministratore, oppure aprire il terminale nel percorso di questa cartella, oppure ancora ridimensionare o ruotare immagini con un click!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/Rrgz3mjsErI/AAAAAAAAAB0/s2lOMpkFVgI/s1600-h/nautilus1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/Rrgz3mjsErI/AAAAAAAAAB0/s2lOMpkFVgI/s320/nautilus1.png" alt="" id="BLOGGER_PHOTO_ID_5095880008705774258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tutto questo è possibile semplicemente digitando sul solito terminale:&lt;br /&gt;&lt;div style="border: 1px solid rgb(102, 102, 102); margin: 2px; background: rgb(255, 255, 204) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;&lt;code style="color: rgb(51, 51, 51);"&gt;sudo apt-get install nautilus-gksu nautilus-image-converter nautilus-open-terminal&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/Rrg0bmjsEsI/AAAAAAAAAB8/RpEEKRw9e-c/s1600-h/nautilus2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/Rrg0bmjsEsI/AAAAAAAAAB8/RpEEKRw9e-c/s320/nautilus2.png" alt="" id="BLOGGER_PHOTO_ID_5095880627181064898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Questi tre pacchetti permettono di effettuare quelle comode operazioni che ho elencato poco sopra.&lt;br /&gt;Inutile dire quanto io usi la funzione di ridimensionamento immagini per questo blog... :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-721951629720833588?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/721951629720833588/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=721951629720833588' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/721951629720833588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/721951629720833588'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/gnome-powertoys.html' title='Gnome PowerToys'/><author><name>Stefano Bianchini</name><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://1.bp.blogspot.com/_CxowvyW17kU/Rrgz3mjsErI/AAAAAAAAAB0/s2lOMpkFVgI/s72-c/nautilus1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-7504325563935672499</id><published>2007-08-05T12:27:00.000+02:00</published><updated>2007-08-05T12:39:43.924+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Nintendo DS</title><content type='html'>Tempo di weekend, tempo di boiate. Guardate cosa mi è toccato regalare alla mia ragazza:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RrWmc2jsEoI/AAAAAAAAABc/pD9fdTOtfgw/s1600-h/P1010113small.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RrWmc2jsEoI/AAAAAAAAABc/pD9fdTOtfgw/s320/P1010113small.JPG" alt="" id="BLOGGER_PHOTO_ID_5095161568051335810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Trattasi di "Nintendo DS Lite", di colore &lt;span style="font-weight: bold; color: rgb(255, 204, 255);"&gt;ROSA&lt;/span&gt; (che lo vendono solo bianco e nero, l'ho trovato per vie traverse...). Come console è veramente bella: due monitor, uno touch-screen e l'altro no, i vari pulsanti (è retrocompatibile con il mitico GameBoy Advance), un microfono, altoparlanti, presa per cuffie/microfono estero. Ma è quando si guarda ai giochi che diventa una vera chicca. Ad esempio &lt;span style="font-style: italic;"&gt;Nintendogs&lt;/span&gt; (eh si, purtroppo ha comprato anche quello) il motore di gioco del cane e dell'ambiente è molto ben fatto: coccole, passeggiate, giochi con vari oggetti, bagnetto, tutto questo tramite pennina sul monitor touch-screen.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RrWn42jsEpI/AAAAAAAAABk/ZYqdGPBgSzc/s1600-h/P1010115small.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RrWn42jsEpI/AAAAAAAAABk/ZYqdGPBgSzc/s320/P1010115small.JPG" alt="" id="BLOGGER_PHOTO_ID_5095163148599300754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Come se non bastasse, gare varie (abilità, frisbee) e la possibilità di insegnare i comandi al cane...tramite microfono, riesce a riconoscere la voce...&lt;br /&gt;Per fare pari, lei mi ha regalato il &lt;span style="font-style: italic;"&gt;Brain Training&lt;/span&gt;....ma lo descriverò in un altro post, per ora vi basti sapere che è bello pure questo :-D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-7504325563935672499?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/7504325563935672499/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=7504325563935672499' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7504325563935672499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/7504325563935672499'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/nintendo-ds.html' title='Nintendo DS'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RrWmc2jsEoI/AAAAAAAAABc/pD9fdTOtfgw/s72-c/P1010113small.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-8988919902500880102</id><published>2007-08-03T20:59:00.000+02:00</published><updated>2007-08-05T12:39:29.660+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boiate'/><title type='text'>Ameritaliano dei Simpsons</title><content type='html'>Oggi è sabato e quindi spazio alle cose meno serie. Cosa c'è di più divertente dei Simpsons?&lt;br /&gt;Ieri mi aggiravo per youtube...cosa ti vado a trovare? Puntate in inglese dei Simpsons (spezzoni) dove si tenta di parlare in italiano! I risultati sono sconcertanti :D E fanno parecchio ridere!&lt;br /&gt;Nel primo video Lisa si fa insegnare l'italiano da Milhouse!&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/boPWIS0vVrU"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/boPWIS0vVrU" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Nel secondo video la famiglia Simpson va a ritirare una macchina Lamborghini per il sign. Burns in Italia:&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OVF1XfUpo2U"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/OVF1XfUpo2U" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-8988919902500880102?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/8988919902500880102/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=8988919902500880102' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8988919902500880102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/8988919902500880102'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/ameritaliano-dei-simpsons.html' title='Ameritaliano dei Simpsons'/><author><name>Stefano Bianchini</name><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-4120451589748876420.post-2236729374207499967</id><published>2007-08-03T14:15:00.000+02:00</published><updated>2007-08-03T14:28:01.149+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ip'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Linux: come calcolo gli indirizzi IP?</title><content type='html'>Se c'è una cosa in cui non sono veramente mai stato capace è il calcolare le varie reti/netmask e relativi prefissi degli indirizzi IP. L'unica cosa che riuscivo a capire era &lt;code&gt;192.168.0.1/24&lt;/code&gt;, ma già se mi si metteva &lt;code&gt;/23&lt;/code&gt; andavo nel panico! (E qui i retisti mi possono anche prendere in giro).&lt;br /&gt;Fortunatamente ho scovato il software giusto per contrastare il mio blocco mentale: trattasi di Gip, Gnome IP calculator. E' veramente semplice da usare, riporto solo uno screenshot:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RrMd-GjsEnI/AAAAAAAAABU/h9DfB9WE9VY/s1600-h/GPI.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RrMd-GjsEnI/AAAAAAAAABU/h9DfB9WE9VY/s320/GPI.png" alt="" id="BLOGGER_PHOTO_ID_5094448556235559538" border="0" /&gt;&lt;/a&gt;Ah! Dimenticavo di dire che in Ubuntu installarlo è altrettanto semplice, basta digitare da terminale:&lt;br /&gt;&lt;br /&gt;&lt;code style="color: rgb(51, 51, 51);"&gt;sudo apt-get install gip&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;E ogni volta che lo volete eseguire digitate &lt;code style="color: rgb(51, 51, 51);"&gt;gip&lt;/code&gt; nel terminale...tutto qua! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-2236729374207499967?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/2236729374207499967/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=2236729374207499967' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2236729374207499967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/2236729374207499967'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/linux-come-calcolo-gli-indirizzi-ip.html' title='Linux: come calcolo gli indirizzi IP?'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/RrMd-GjsEnI/AAAAAAAAABU/h9DfB9WE9VY/s72-c/GPI.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-4056838774449353351</id><published>2007-08-02T12:32:00.001+02:00</published><updated>2007-08-02T12:54:20.097+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Installare una stampante PDF in Ubuntu</title><content type='html'>Ecco a voi un altro tips che mi è stato molto utile. Oramai il bisogno di creare file PDF è largamente presente, e programmi come OpenOffice lo supportano in toto. Ma se voglio creare un PDF da un'altra applicazione? Non sarebbe bella una stampante virtuale come in Windows, che mi permetta di stampare file in formato PDF?&lt;br /&gt;&lt;br /&gt;Chiaramente la comunità libera prontamente ha apportato questa caratteristica...ed è anche semplice installarla.&lt;br /&gt;Prima di tutto, digitate da terminale:&lt;br /&gt;&lt;code&gt;sudo apt-get install cups-pdf&lt;/code&gt;&lt;br /&gt;Questo installerà il supporto PDF per il sistema cups (io l'avevo già installato quest'ultimo).&lt;br /&gt;Ora andate sotto &lt;span style="font-style: italic;"&gt;Sistema -&gt; Amministrazione -&gt; Stampa&lt;/span&gt; e selezionate "&lt;span style="font-style: italic;"&gt;Nuova Stampante&lt;/span&gt;" come da figura:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_CxowvyW17kU/RrG0QmjsEjI/AAAAAAAAAA0/_BeSFcu97vw/s1600-h/PDFstampa1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_CxowvyW17kU/RrG0QmjsEjI/AAAAAAAAAA0/_BeSFcu97vw/s320/PDFstampa1.png" alt="" id="BLOGGER_PHOTO_ID_5094050850853884466" border="0" /&gt;&lt;/a&gt;Bene, nella schermata che segue lasciate &lt;span style="font-style: italic;"&gt;Tipo: Locale o stampante rilevata&lt;/span&gt; e &lt;span style="font-style: italic;"&gt;Usa Stampante individuata&lt;/span&gt; (scegliete PDF Printer, se avete anche una stampante vera vi verrà visualizzata anche quella).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RrG1W2jsEkI/AAAAAAAAAA8/_DkFM7L4pzk/s1600-h/PDFstampa2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RrG1W2jsEkI/AAAAAAAAAA8/_DkFM7L4pzk/s320/PDFstampa2.png" alt="" id="BLOGGER_PHOTO_ID_5094052057739694658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ora cliccate avanti. Scegliete &lt;span style="font-style: italic;"&gt;Produttore: Generic&lt;/span&gt; e &lt;span style="font-style: italic;"&gt;Modello: Postscript&lt;/span&gt; (il driver è uno solo).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CxowvyW17kU/RrG2AWjsElI/AAAAAAAAABE/GrSP2acb0iw/s1600-h/PDFstampa3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_CxowvyW17kU/RrG2AWjsElI/AAAAAAAAABE/GrSP2acb0iw/s320/PDFstampa3.png" alt="" id="BLOGGER_PHOTO_ID_5094052770704265810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Cliccate avanti e finalmente nella schermata che segue potete inserire il nome della stampante (Ad esempio StampantePDF, senza spazi) e una breve descrizione della stampante. Cliccando su Fine...si ottiene l'effetto sperato!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_CxowvyW17kU/RrG3HGjsEmI/AAAAAAAAABM/6EgjQkruB4o/s1600-h/PDFstampa4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_CxowvyW17kU/RrG3HGjsEmI/AAAAAAAAABM/6EgjQkruB4o/s320/PDFstampa4.png" alt="" id="BLOGGER_PHOTO_ID_5094053986180010594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fate una prova di stampa: viene stampato il tutto e...ma dove lo salva???Beh a tutto c'è rimedio...viene creata una cartella PDF sotto la home directory del vostro utente, e lì dentro salverà tutti i file PDF che crea...buon PDF a tutti!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-4056838774449353351?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/4056838774449353351/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=4056838774449353351' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4056838774449353351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/4056838774449353351'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/installare-una-stampante-pdf-in-ubuntu.html' title='Installare una stampante PDF in Ubuntu'/><author><name>Stefano Bianchini</name><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://2.bp.blogspot.com/_CxowvyW17kU/RrG0QmjsEjI/AAAAAAAAAA0/_BeSFcu97vw/s72-c/PDFstampa1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4120451589748876420.post-3408261920151220234</id><published>2007-08-01T11:34:00.000+02:00</published><updated>2007-08-01T11:57:02.611+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Linux Tips: autocompletamento esteso</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_CxowvyW17kU/RrBXnGjsEiI/AAAAAAAAAAs/FgIjoYsxGGk/s1600-h/tux_yoda_albantor_tux.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_CxowvyW17kU/RrBXnGjsEiI/AAAAAAAAAAs/FgIjoYsxGGk/s320/tux_yoda_albantor_tux.png" alt="" id="BLOGGER_PHOTO_ID_5093667507842847266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Come tutti voi saprete, durante una sessione in un terminale linux (gnome-terminal ad esempio in Ubuntu) premendo "tab" si attiva l'autocompletamento dei comandi (e solo di quelli). Ad esempio sarebbe comodo scrivere:&lt;br /&gt;&lt;code&gt;&lt;span style="color: rgb(51, 51, 51);font-size:100%;" &gt;sudo apt-get&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;e premendo tab mostrasse le varie opzioni (remove, install, autoremove ecc.). Stessa cosa se installo un pacchetto tramite l'opzione install: inizio a scrivere ad esempio "gnome" e l'autocompletamento mi mostra tutti i pacchetti disponibili da installare che iniziano per "gnome".&lt;br /&gt;Ottenere questo effetto è molto semplice, basta aprire una console ed editare il file&lt;span style="font-family:monospace;"&gt; &lt;/span&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-size:100%;" &gt;sudo gedit /etc/bash.bashrc&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Trovare le linee:&lt;br /&gt;&lt;br /&gt;&lt;code style="color: rgb(51, 51, 51);"&gt; # enable programmable completion features (you don't need to enable&lt;br /&gt;# this, if it's already enabled in /etc/bash.bashrc and /etc/profile&lt;br /&gt;# sources /etc/bash.bashrc).&lt;br /&gt;#if [ -f /etc/bash_completion ]; then&lt;br /&gt;#    . /etc/bash_completion&lt;br /&gt;#fi&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;e cambiarle in:&lt;br /&gt;&lt;br /&gt;&lt;code style="color: rgb(51, 51, 51);"&gt; # enable programmable completion features (you don't need to enable&lt;br /&gt;# this, if it's already enabled in /etc/bash.bashrc and /etc/profile&lt;br /&gt;# sources /etc/bash.bashrc).&lt;br /&gt;if [ -f /etc/bash_completion ]; then&lt;br /&gt;. /etc/bash_completion&lt;br /&gt;fi&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In breve, decommentate le tre righe :-) Chiudendo e riaprendo la console, premendo &lt;code&gt;TAB&lt;/code&gt; dopo aver scritto &lt;code&gt;apt-get&lt;/code&gt; vengono mostrate le opzioni:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;autoclean clean install update&lt;/span&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;build-dep dist-upgrade remove upgrade&lt;/span&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;check dselect-upgrade source&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Mi è stato veramente utile come consiglio...un grazie sentito a Marco Fabbri (&lt;a href="http://questionmark.blogsome.com/"&gt;blog personale&lt;/a&gt;, INGLESE) per il tips!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4120451589748876420-3408261920151220234?l=stefanobianchini.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stefanobianchini.blogspot.com/feeds/3408261920151220234/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4120451589748876420&amp;postID=3408261920151220234' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3408261920151220234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4120451589748876420/posts/default/3408261920151220234'/><link rel='alternate' type='text/html' href='http://stefanobianchini.blogspot.com/2007/08/linux-tips-autocompletamento-esteso.html' title='Linux Tips: autocompletamento esteso'/><author><name>Stefano Bianchini</name><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/_CxowvyW17kU/RrBXnGjsEiI/AAAAAAAAAAs/FgIjoYsxGGk/s72-c/tux_yoda_albantor_tux.png' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
