<?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-855782704353028950</id><updated>2012-02-16T11:35:29.491+01:00</updated><category term='u4j2rsf'/><category term='postgresql'/><category term='sztreeview'/><category term='web'/><category term='bug'/><category term='liferea'/><category term='firebug'/><category term='maven'/><category term='usa'/><category term='progetti'/><category term='hacking'/><category term='fedora'/><category term='viaggi'/><category term='armin'/><category term='sar'/><category term='nerd'/><category term='firefox'/><category term='tesi'/><category term='arabianfenix'/><category term='mawk'/><category term='iniziative'/><category term='opensource'/><category term='cms'/><category term='burocrazia'/><category term='web service'/><category term='debian'/><category term='video'/><category term='mappe'/><category term='shazbot'/><category term='eclipse'/><category term='sicurezza'/><category term='saggezza'/><category term='scienza'/><category term='riflessioni'/><category term='prism'/><category term='nds'/><category term='hardware'/><category term='xen'/><category term='flowplayer'/><category term='database'/><category term='rfid'/><category term='sine'/><category term='apache'/><category term='linux'/><category term='u10'/><category term='office'/><category term='prima di partire'/><category term='tool'/><category term='php'/><category term='mashape'/><category term='pillole'/><category term='howto'/><category term='voip'/><category term='ffmpeg'/><category term='delirio'/><category term='consigli'/><category term='programmazione'/><category term='smartphone'/><category term='life'/><category term='calcolo distribuito'/><category term='jquery'/><category term='odio'/><category term='wireless'/><category term='cazzeggio'/><category term='appunti'/><category term='virus'/><category term='microsoft'/><category term='qemu'/><category term='annunci'/><category term='fun'/><category term='opensolaris'/><category term='magento'/><category term='opml'/><category term='university'/><category term='google'/><title type='text'>...</title><subtitle type='html'>Silicio, nimesulide e caffeina</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default?start-index=101&amp;max-results=100'/><author><name>Shatsar</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>145</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-855782704353028950.post-5064042071186806737</id><published>2010-07-28T04:59:00.003+02:00</published><updated>2010-07-28T05:07:53.668+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usa'/><category scheme='http://www.blogger.com/atom/ns#' term='burocrazia'/><category scheme='http://www.blogger.com/atom/ns#' term='viaggi'/><title type='text'>Informazioni pratiche: Customs Declaration Form</title><content type='html'>Come accennavo nel post precedente, in aereo è necessario compilare un ulteriore modulo. Prima erano due anche per i viaggiatori waiver, il custom declaration form e un ulteriore modulo su carta verde.&lt;br /&gt;&lt;br /&gt;Da luglio hanno eliminato questo secondo modulo, per cui c'è solo da compilare il custom declaration form.&lt;br /&gt;&lt;br /&gt;Fronte:&lt;br /&gt;http://1984usa.com/higherlearning/wp-content/uploads/2009/04/6059bf.jpg&lt;br /&gt;&lt;br /&gt;Retro:&lt;br /&gt;http://1984usa.com/higherlearning/wp-content/uploads/2009/04/6059br.jpg&lt;br /&gt;&lt;br /&gt;Niente di troppo complesso: dati anagrafici, informazioni sul volo, indirizzo (iniziale) di permanenza negli states e motivo del viaggio. Poi una serie di domande si/no banali e infine, in quanto visitor, c'è un campo in cui mettere il valore di tutto e solo il materiale che portiamo negli states e &lt;span style="font-weight:bold;"&gt;che rimarrà là&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;La parte dietro va compilata solo se rimane qualcosa negli states (per esempio campioni di prodotti o robe così..)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5064042071186806737?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5064042071186806737/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5064042071186806737' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5064042071186806737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5064042071186806737'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/07/informazioni-pratiche-customs.html' title='Informazioni pratiche: Customs Declaration Form'/><author><name>Shatsar</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-855782704353028950.post-4227577802018424029</id><published>2010-07-26T02:22:00.003+02:00</published><updated>2010-07-26T02:49:36.751+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usa'/><category scheme='http://www.blogger.com/atom/ns#' term='burocrazia'/><category scheme='http://www.blogger.com/atom/ns#' term='viaggi'/><title type='text'>Informazioni pratiche: Esta</title><content type='html'>L'ESTA ( http://en.wikipedia.org/wiki/Electronic_System_for_Travel_Authorization ) è il sistema di autorizzazione elettronica per i viaggi negli Stati Uniti.&lt;br /&gt;&lt;br /&gt;Visto che l'Italia fa parte di una serie di paesi che aderiscono al &lt;a href="http://en.wikipedia.org/wiki/Visa_Waiver_Program" target="_blank"&gt;Visa Waiver Program&lt;/a&gt;  l&lt;span style="font-style:italic;"&gt;'unica&lt;/span&gt; formalità da fare, per entrare negli stati uniti (dopo aver fatto il passaporto elettronico) è registrarsi attraverso questo sistema.&lt;br /&gt;&lt;br /&gt;La compilazione è rapida e indolore, verranno richieste alcune informazioni anagrafiche della persona che deve viaggiare e del suo passaporto: &lt;a href="https://esta.cbp.dhs.gov/esta/WebHelp/helpScreen_it.htm#What information do I need to complete the application?"&gt;lista delle informazioni richieste&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I dati del volo NON sono obbligatori, per cui vale la pena lasciarli in bianco in modo da avere un'autorizzazione per un periodo molto più lungo.&lt;br /&gt;&lt;br /&gt;Al termine della procedura bisognerà attendere la conferma e verrà dato un codice da segnarsi. E' bene stampare la pagina o l'email di conferma e portarsela sempre dietro (dovrebbe essere richiesto sia al momento del checkin che al controllo in dogana US)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4227577802018424029?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4227577802018424029/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4227577802018424029' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4227577802018424029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4227577802018424029'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/07/informazioni-pratiche-esta.html' title='Informazioni pratiche: Esta'/><author><name>Shatsar</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-855782704353028950.post-1595884178873948211</id><published>2010-03-24T08:55:00.003+01:00</published><updated>2010-03-24T09:11:28.558+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iniziative'/><title type='text'>Ada Lovelace Day</title><content type='html'>Oggi è l'&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Ada_Lovelace"&gt;Ada Lovelace&lt;/a&gt; Day. &lt;br /&gt;&lt;br /&gt;Una giornata dedicata ad una figura importante nella storia dell'informatica. Infatti è considerata "the world's first computer programmer"..&lt;br /&gt;L'iniziativa è al suo secondo anno, e il punto focale dell'iniziativa è il sito &lt;a href="http://findingada.com" arget="_blank"&gt;http://findingada.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;L'obiettivo dell'iniziativa è quello di valorizzare l'apporto dato dalle donne alla tecnologia e alla scienza.. per cui mi pare un buon motivo per scrivere un turbo post mentre, all'una di notte, lavoro su &lt;a href="http://mashape.com"&gt;mashape&lt;/a&gt;! ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1595884178873948211?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1595884178873948211/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1595884178873948211' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1595884178873948211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1595884178873948211'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/03/ada-lovelace-day.html' title='Ada Lovelace Day'/><author><name>Shatsar</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-855782704353028950.post-7268719485358201544</id><published>2010-01-30T17:20:00.000+01:00</published><updated>2010-01-30T17:20:00.384+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='prima di partire'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Prima di partire: abbonamento telefonico</title><content type='html'>Chiudo la serie "prima di partire" con questo post (nettamente in ritardo, visto che sono partito da quasi una settimana..)&lt;br /&gt;&lt;br /&gt;Avendo l'abbonamento business di Vodafone, avevo determinati costi fissi: la tassa di concessione governativa: € 12,9 al mese più 10€ al mese per il telefono e l'assicurazione kasko. Prevedendo di star via parecchi mesi quest'anno, ho deciso di cambiare anche questo.. quindi sono passato da abbonamento business a ricaricabile normale.&lt;br /&gt;&lt;br /&gt;Mi sono recato al punto vodafone One +vicino con: carta d'identità, codice fiscale e dichiarazione di attribuzione partita iva (deve essere stato rilasciato da meno di 6 mesi, ma va bene anche l'autocertificazione). &lt;br /&gt;Mi ha dato subito la SIM nuova, ha inviato un fax a vodafone e nel giro di due giorni la vecchia SIM non mi faceva più chiamare per cui l'ho sostituita. &lt;br /&gt;&lt;br /&gt;Avendo il contratto da più di due anni il telefono è rimasto a me senza alcuna penale.&lt;br /&gt;Su 190.it ho dovuto rifare la procedura di attivazione dell'account, ma a parte questo non c'è stata nessuna controindicazione per il cambio da abbonamento a ricaricabile&lt;br /&gt;&lt;br /&gt;Visto che non ho preso altre misure per tagliare i costi fissi in Italia mentre sono all'estero dichiaro, per ora, conclusa la serie di post "Prima di partire"..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7268719485358201544?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7268719485358201544/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7268719485358201544' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7268719485358201544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7268719485358201544'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/01/prima-di-partire-abbonamento-telefonico.html' title='Prima di partire: abbonamento telefonico'/><author><name>Shatsar</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-855782704353028950.post-6604907115123372196</id><published>2010-01-30T06:55:00.007+01:00</published><updated>2010-01-30T07:53:00.425+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ffmpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='u10'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Playing with u10: split a video with ffmpeg</title><content type='html'>I love my &lt;a href="http://www.samsung.com/us/consumer/photography/camcorders/high-definition/HMX-U10RN/XAA/index.idx?pagetype=prd_detail" target="_blank"&gt;u10&lt;/a&gt;.&lt;br /&gt;Today i was trying to split the video of Mashape's event in Bicocca (1h+, for 1.2GB).&lt;br /&gt;I did a try with kino and open movie editor. In particular kino, when opening this file, tried to export it in dv format: i killed it when it had done the 30% of the conversion with a .dv file of more than 3GB..&lt;br /&gt;&lt;br /&gt;So i was wandering how i could split this huge file. The answer? My beloved ffmpeg.&lt;br /&gt;So:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;shatsar@erakis:/tmp/video$ ffmpeg -i sdv_0032.mp4 &lt;br /&gt;[..]&lt;br /&gt;  Duration: 01:02:48.09, start: 0.000000, bitrate: 2909 kb/s&lt;br /&gt;    Stream #0.0(eng): Video: h264, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 2766 kb/s, 119.84 fps, 59.94 tbr, 90k tbn, 119.88 tbc&lt;br /&gt;    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 128 kb/s&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;bitrate 2766 kb/s, fps 119, audio 128kb/s ..impressive (we did this video at the lowest quality of u10)&lt;br /&gt;&lt;br /&gt;For example: to take out a video (with a lower bitrate and fps) of 6m and 15s starting from 14m and 39s from the original video i did:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:/tmp/video$ ffmpeg -i sdv_0032.mp4 -ss "00:14:39" -t "00:06:15"  -b 1800k -r 50 video1.mp4&lt;br /&gt;shatsar@erakis:/tmp/video$ ls -alh video1.mp4 &lt;br /&gt;-rw-r--r-- 1 shatsar shatsar 84M 2010-01-29 17:16 video1.mp4&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;not bad..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6604907115123372196?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6604907115123372196/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6604907115123372196' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6604907115123372196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6604907115123372196'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/01/playing-with-u10-split-video-with.html' title='Playing with u10: split a video with ffmpeg'/><author><name>Shatsar</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-855782704353028950.post-8530608747900949831</id><published>2010-01-18T23:45:00.004+01:00</published><updated>2010-01-30T07:46:12.832+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='prima di partire'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Prima di partire: carte di credito</title><content type='html'>Continuo la serie "Prima di partire" con una panoramica sul discorso carte di credito.&lt;br /&gt;In questi giorni ho fatto un paio di giri in banca/posta per controllare alcuni parametri: il tetto di spesa mensile, il costo delle commissioni sui pagamenti in valuta straniera e il costo sull'anticipo di denaro (prelievo ai bancomat) in valuta straniera.&lt;br /&gt;Cambiare il tetto di spese mensile richiede qualche giorno ed è operativo dal mese successivo, quindi, se strettamente necessaria, è un'operazione da fare per tempo. &lt;br /&gt;&lt;br /&gt;La mia carta di credito (visa su conto intesasanpaolo) ha queste commissioni:&lt;br /&gt;operazioni in valuta: tassi di cambio applicati da visa + una commissione massima del 2%&lt;br /&gt;operazioni di anticipo contante: 4% con un minimo di Euro 5,16&lt;br /&gt;&lt;br /&gt;Mentre postepay non ha tasso aggiuntivo su operazioni in valuta estera e ha commissioni fisse di 5 euro sulle operazioni di prelievo.&lt;br /&gt;&lt;br /&gt;Quindi parto con entrambe: con la carta di credito da usare più come garanzia per certe operazioni (eventuale noleggio auto e robe del genere), mentre, per le operazioni di tutti i giorni, via di postepay!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8530608747900949831?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8530608747900949831/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8530608747900949831' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8530608747900949831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8530608747900949831'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/01/prima-di-partire-carte-di-credito.html' title='Prima di partire: carte di credito'/><author><name>Shatsar</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-855782704353028950.post-9003639796860367862</id><published>2010-01-12T00:23:00.004+01:00</published><updated>2010-01-30T07:46:25.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='prima di partire'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Prima di partire: Assicurazione auto</title><content type='html'>Inauguro una mini-serie di post dedicati ai preparativi per una trasferta lunga (tipo 3 mesi). &lt;br /&gt;Il primo post è dedicato all'assicurazione dell'auto.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;La buona notizia è che si può sospendere&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Funziona così: prima di partire si porta in assicurazione il talloncino (quello esposto sul parabrezza) e la &lt;a href="http://www.assicurazione-auto-online.net/2008/12/carta-verde-e-assicurazione.html" target="_blank"&gt;carta verde&lt;/a&gt;. &lt;br /&gt;Da quel momento l'assicurazione è in sospensione per un periodo minimo di tre mesi. &lt;br /&gt;&lt;br /&gt;Quindi, una volta tornati in Italia basterà andare a riattivare l'assicurazione (ritirando il talloncino e la carta verde) e ricevere questo trattamento: il pagamento verrà fatto slittare del periodo di sospensione (se questo raggiunge almeno i 90 gg).&lt;br /&gt;&lt;br /&gt;Per esempio: se annualmente pago l'assicurazione a inizio agosto e la sospendo per un periodo di tre mesi, pagherò il suo rinnovo a inizio novembre.&lt;br /&gt;&lt;br /&gt;L'operazione è gratuita. &lt;br /&gt;&lt;br /&gt;PS: Per chi fosse interessato, il periodo minimo di sospensione dell'assicurazione della moto è invece 60gg.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-9003639796860367862?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/9003639796860367862/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=9003639796860367862' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/9003639796860367862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/9003639796860367862'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2010/01/prima-di-partire-assicurazione-auto.html' title='Prima di partire: Assicurazione auto'/><author><name>Shatsar</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-855782704353028950.post-7823670471723281173</id><published>2009-12-26T14:14:00.000+01:00</published><updated>2009-12-26T14:14:00.440+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Skype on debian amd64</title><content type='html'>Due to my imminent relocation, i was trying to use skype_static-2.1.0.47.tar.bz2 on my laptop (debian amd64 testing), but it used to crash with this message:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Inconsistency detected by ld.so: dl-open.c: 643: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)-&gt;r_state == RT_CONSISTENT' failed!&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;After a couple of unsuccessful tries, i downloaded the previous version: skype-debian_2.0.0.72-1_i386.deb , installed its dependencies ( i was missing two packages related to qt4)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;erakis:~# apt-get install libqt4-core libqt4-gui&lt;br /&gt;[..]&lt;br /&gt;erakis:~# dpkg --force-architecture -i skype-debian_2.0.0.72-1_i386.deb&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And now it works!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7823670471723281173?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7823670471723281173/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7823670471723281173' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7823670471723281173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7823670471723281173'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/12/skype-on-debian-amd64.html' title='Skype on debian amd64'/><author><name>Shatsar</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-855782704353028950.post-1830810440109446678</id><published>2009-12-23T23:12:00.001+01:00</published><updated>2009-12-23T23:12:00.263+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scienza'/><category scheme='http://www.blogger.com/atom/ns#' term='cazzeggio'/><title type='text'>Solstizio</title><content type='html'>Arrivo con un paio di giorni di ritardo, ma stavo leggendo la pagina su wikipedia riguardante il &lt;a href="http://it.wikipedia.org/wiki/Solstizio" target="_blank"&gt;solstizio&lt;/a&gt; e sono rimasto colpito dalla differenza delle ore di luce tra Milano e Catania.. non mi aspettavo che la differenza fosse così ampia: &lt;br /&gt;&lt;br /&gt;Milano:&amp;nbsp;&amp;nbsp;45°27'50.98"N   &amp;nbsp;9°11'25.21"E&lt;br /&gt;Catania:&amp;nbsp;37°31'0"N &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;15° 4'0"E&lt;br /&gt;&lt;br /&gt;La differenza tra le coordinate è equivalente a quasi 50 minuti di luce in più (al mattino)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1830810440109446678?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1830810440109446678/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1830810440109446678' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1830810440109446678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1830810440109446678'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/12/solstizio.html' title='Solstizio'/><author><name>Shatsar</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-855782704353028950.post-2883016394592125386</id><published>2009-12-18T23:12:00.004+01:00</published><updated>2009-12-18T23:34:53.145+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='annunci'/><title type='text'>Vita sociale online</title><content type='html'>Da qualche tempo mi sono dato al &lt;a href="http://shatsar.blogspot.com/2009/09/il-micro-blogging.html"&gt;microblogging&lt;/a&gt;.&lt;br /&gt;In fondo mi piace, anche se tendo a non abusarne. E stessa cosa per &lt;a href="http://friendfeed.com/shatsar"&gt;friendfeed&lt;/a&gt; e questo blog.&lt;br /&gt;Ho visto sempre questo spazio come un luogo in cui scrivere appunti per me, passando da un argomento all'altro senza un filo logico se non le mie esperienze lavorative o gli smanettamenti notturni.&lt;br /&gt;Ma ora penso sia arrivato per me il momento di fare le cose un po' più seriamente, seguendo in modo più costante la mia presenza online, come informatico, come &lt;a href="http://www.linkedin.com/in/michelezonca"&gt;professionista&lt;/a&gt; e come "&lt;a href="http://mashape.com"&gt;startupper&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Quindi nella mia todolist ho questi punti:&lt;br /&gt;* nuovo blog puramente tecnico e in inglese (in lavorazione su tumblr)&lt;br /&gt;* seguire un po' più di persone su identi.ca e friendfeed&lt;br /&gt;* decidere cosa fare di questo blog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2883016394592125386?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2883016394592125386/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2883016394592125386' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2883016394592125386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2883016394592125386'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/12/vita-sociale-online.html' title='Vita sociale online'/><author><name>Shatsar</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-855782704353028950.post-5512800622132781289</id><published>2009-12-13T15:38:00.002+01:00</published><updated>2009-12-13T15:56:48.526+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashape'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>100% Mashaper</title><content type='html'>Da una ventina di giorni ormai lavoro praticamente solo su &lt;a href="http://www.mashape.com" target="_blank"&gt;Mashape&lt;/a&gt;. &lt;br /&gt;A dirla tutta sto ancora finendo dei progetti per altri clienti, ma è davvero poca roba che mi occupa solo qualche ora a settimana.. niente di significativo. Non abbastanza, insomma, per cambiare il fatto che stia lavorando fulltime su Mashape.&lt;br /&gt;&lt;br /&gt;Molti magari non ci vedranno nulla di strano o nulla degno di essere citato in un post. Invece per me questa è una grande novità perchè io, in cinque anni di consulenza in partita iva, non ho mai fatto 5 giorni su 5 nella stessa azienda per più di due settimane. &lt;br /&gt;&lt;br /&gt;Infatti ho sempre trovato più stimolante seguire più aziende contemporaneamente, oltre ovviamente all'università (che ho finito a fine aprile).&lt;br /&gt;Ma ora non sarà più così. Si sta chiudendo un ciclo? Si, direi di si. E non perchè la vita da consulente mi abbia stancato, ma semplicemente perchè ora ho tra le mani qualcosa di troppo bello per non buttarmici dentro totalmente.. e poi passare l'inverno in California non può essere certo male :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5512800622132781289?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5512800622132781289/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5512800622132781289' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5512800622132781289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5512800622132781289'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/12/100-mashaper.html' title='100% Mashaper'/><author><name>Shatsar</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-855782704353028950.post-5311000645675704544</id><published>2009-11-23T15:13:00.002+01:00</published><updated>2009-11-23T15:24:59.627+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Eclipse Fullscreen plugin</title><content type='html'>I'm using a plugin really useful: &lt;a href="http://code.google.com/p/eclipse-fullscreen"&gt;code.google.com/p/eclipse-fullscreen&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some months ago i've configured gnome to force fullscreen mode to the foreground window pressing alt+f11: with gconf-editor go to /apps/metacity/window_keybindings/ and configure key binging for toggle_fullscreen. That was really necessary for my 10'' netbook (Dell Mini 10v).&lt;br /&gt;&lt;br /&gt;But this is a generic solution, for example the fullscreen mode of firefox is far better than using metacity fullscreen (it makes disappear not only the window border, but also the navigation menu, the toolbar and the status bar). &lt;br /&gt;For eclipse is almost the same: metacity fullscreen is really good, but the plugin rocks!&lt;br /&gt;&lt;br /&gt;And a useful collateral effect is that in fullscreen mode i do not receive all the notifications from gnome (liferea, updates, rhythmbox..) and i can really get into my "coding flow"..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5311000645675704544?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5311000645675704544/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5311000645675704544' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5311000645675704544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5311000645675704544'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/11/eclipse-fullscreen-plugin.html' title='Eclipse Fullscreen plugin'/><author><name>Shatsar</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-855782704353028950.post-2901688289271939512</id><published>2009-11-09T21:32:00.001+01:00</published><updated>2009-11-09T21:32:00.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>[HOWTO] Trac AccountManagerPlugin</title><content type='html'>I've just installed &lt;a href="http://trac-hacks.org/wiki/AccountManagerPlugin"&gt;AccountManager Trac plugin&lt;/a&gt; in one of my trac instances (in this howto i will name it "xyz").&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;repo:/tmp# svn co http://trac-hacks.org/svn/accountmanagerplugin/0.11 .&lt;br /&gt;repo:/tmp# cd 0.11&lt;br /&gt;repo:/tmp/0.11# python setup.py bdist_egg&lt;br /&gt;repo:/tmp/0.11# cd dist/&lt;br /&gt;repo:/tmp/0.11/dist# mv TracAccountManager-*.egg  /path/to/trac/xyz/plugins/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In xyz/conf/trac.ini i have added:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[components]&lt;br /&gt;trac.web.auth.LoginModule = disabled&lt;br /&gt;acct_mgr.web_ui.LoginModule = enabled&lt;br /&gt;acct_mgr.web_ui.RegistrationModule = disabled&lt;br /&gt;acct_mgr.web_ui.emailverificationmodule = disabled&lt;br /&gt;acct_mgr.htfile.HtPasswdStore = enabled&lt;br /&gt;&lt;br /&gt;[account-manager]&lt;br /&gt;password_store = HtPasswdStore&lt;br /&gt;password_file = /path/to/trac/xyz/conf/trac.htpasswd&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then i had to edit my apache httpd configuration. On this server i run several trac instances (with the TracEnvParentDir set to /path/to/trac/ ) so my login configuration was:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;Location "/trac/*/login"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  AuthType Basic&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  AuthName "Login"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  AuthUserFile /etc/httpd/conf/htpasswd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Require valid-user&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then it became:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;Location ~ /trac/(?!xyz)*/login"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  AuthType Basic&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  AuthName "Login"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  AuthUserFile /etc/httpd/conf/htpasswd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Require valid-user&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Adding that regex, now i exclude from this directive the path /trac/xyz/login.&lt;br /&gt;Consequently the form login (handled by the AccountManagementPlugin) is only available in xyz instance (with a reserved password file), while the others (including future ones) will use the apache basic authentication.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2901688289271939512?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2901688289271939512/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2901688289271939512' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2901688289271939512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2901688289271939512'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/11/howto-trac-accountmanagerplugin.html' title='[HOWTO] Trac AccountManagerPlugin'/><author><name>Shatsar</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-855782704353028950.post-4400346545195541035</id><published>2009-10-07T10:25:00.003+02:00</published><updated>2009-10-07T10:51:40.659+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>GWT on debian 64bit</title><content type='html'>In &lt;a href="http://www.mashape.com"&gt;mashape&lt;/a&gt; we are working on a dashboard in &lt;a href="http://code.google.com/webtoolkit/ "&gt;Google Web Toolkit&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;GWT is a very interesting project. You can find a lot of useful plugins and an active community. The main problem is that you can't run GWT and its Eclipse plugin in a pure 64bit environment. &lt;br /&gt;And my laptop &lt;i&gt;was&lt;/i&gt; a pure 64 bit env. And it was not easy to keep it so "pure" in its 2years of life.&lt;br /&gt;&lt;br /&gt;To run GWT on debian 64bit, i had to follow, first of all, these steps:&lt;br /&gt;&lt;a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=135#c57"&gt;http://code.google.com/p/google-web-toolkit/issues/detail?id=135#c57&lt;/a&gt;&lt;br /&gt;The apt-get install of ia32-sun-java6-bin installed ia32-libs, that contains shared libraries compiled for ia32.&lt;br /&gt;But it's not enough..&lt;br /&gt;i was still getting a fatal error with libgtk2.0-0 (not found).&lt;br /&gt;The final step, not listed in the link above, is this:&lt;br /&gt;&lt;code&gt;apt-get install ia32-libs-gtk&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now it works, with some warning, but nothing dangerous :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4400346545195541035?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4400346545195541035/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4400346545195541035' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4400346545195541035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4400346545195541035'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/10/gwt-on-debian-64bit.html' title='GWT on debian 64bit'/><author><name>Shatsar</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-855782704353028950.post-1991986325031213160</id><published>2009-09-20T16:12:00.003+02:00</published><updated>2009-09-20T16:15:16.018+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><title type='text'>Appunto personale su nuovo progetto</title><content type='html'>Vista la semplicità delle API di twitter (con le quali sto interagendo per mashape) e visto che le API di identi.ca sono compatibili, credo che non sarebbe lungo creare un gadget per blogspot che si interfacci con identi.ca.. perchè usare il solo gadget per i feed rss (messo qui nella barra laterale) non dà risultati propriamente soddisfacenti...&lt;br /&gt;&lt;br /&gt;ad avere tempo..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1991986325031213160?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1991986325031213160/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1991986325031213160' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1991986325031213160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1991986325031213160'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/09/appunto-personale-su-nuovo-progetto.html' title='Appunto personale su nuovo progetto'/><author><name>Shatsar</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-855782704353028950.post-2140549769585001540</id><published>2009-09-14T15:53:00.003+02:00</published><updated>2009-09-14T16:04:24.714+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Il micro-blogging</title><content type='html'>Ho ceduto al micro-blogging..&lt;br /&gt;Ero partito con l'idea di iscrivermi a Twitter, per migliorare in qualche modo la comunicazione verso l'esterno e tenermi in contatto con un po' di realtà che sto conoscendo in questo periodo, in particolare il "sottobosco" delle startup milanesi.&lt;br /&gt;Alla fine la mia natura nerd mi ha portato su &lt;a href="http://identi.ca"&gt;identi.ca&lt;/a&gt;, che è basato sul motore di microblogging open source &lt;a href="http://status.net"&gt;Status.net&lt;/a&gt; (ex laconi.ca).&lt;br /&gt;&lt;br /&gt;Ho appena iniziato, per ora mi piace come concetto, anche perchè così riempio più facilmente il &lt;a href="http://friendfeed.com/shatsar"&gt;mio friendfeed&lt;/a&gt; ;)&lt;br /&gt;&lt;br /&gt;Come mai questa svolta "social"? Beh, oltre al discorso dei contatti con le altre startup, c'è il fatto puramente tecnico che per &lt;a href="http://www.mashape.com"&gt;mashape&lt;/a&gt; sto interagendo con un sacco di servizi online che forniscono API, per cui quale modo migliore di capire come usare un servizio se non iscriversi ed utilizzarlo?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://identi.ca/shatsar"&gt;Shatsar on identi.ca&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2140549769585001540?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2140549769585001540/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2140549769585001540' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2140549769585001540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2140549769585001540'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/09/il-micro-blogging.html' title='Il micro-blogging'/><author><name>Shatsar</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-855782704353028950.post-6658186457638860006</id><published>2009-08-28T20:21:00.001+02:00</published><updated>2009-09-03T10:20:57.875+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>Comportamento anomalo nella Bash di Debian Testing</title><content type='html'>Oggi sono rimasto molto perplesso da un problema nella bash. Per fortuna mi ha fatto perdere poco tempo..&lt;br /&gt;Ho la tendenza ad usare diversi shell script per le operazioni ripetitive, quindi stamattina lancio uno script per rigenerare le classi java di Apache Torque attraverso ant, farne un .jar e spostarlo dove mi serve. &lt;br /&gt;&lt;br /&gt;E va in errore. &lt;br /&gt;&lt;br /&gt;Pensando in un errore di configurazione inizio a dare un'occhiata ai log.. poi mi viene un dubbio e decido di fare girare l'applicazione java, per vedere quali modifiche sono state apportate ultimamente. &lt;br /&gt;Lancio lo script che prepara l'ambiente per l'applicazione java:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~/develop$ sh prepare-deploy.sh &lt;br /&gt;prepare-deploy.sh: 2: pushd: not found&lt;br /&gt;[.. altri errori]&lt;br /&gt;shatsar@erakis:~/develop$ cat prepare-deploy.sh &lt;br /&gt;#!/bin/bash&lt;br /&gt;pushd /tmp&lt;br /&gt;[.. altre operazioni]&lt;br /&gt;shatsar@erakis:~/develop$ pushd /tmp&lt;br /&gt;/tmp ~/develop&lt;br /&gt;shatsar@erakis:/tmp$ cd&lt;br /&gt;shatsar@erakis:~$ cd develop/&lt;br /&gt;shatsar@erakis:~/develop$ chmod +x prepare-deploy.sh&lt;br /&gt;shatsar@erakis:~/develop$ ./prepare-deploy.sh &lt;br /&gt;/tmp ~/develop&lt;br /&gt;[.. funziona tutto]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In definitiva credo sia un problema di inizializzazione della console figlia (creata lanciando sh &lt;file&gt;), tanto più che anche senza settare il flag x, basta fare &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~/develop$ source prepare-deploy.sh &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Che esegue il file sh in questione nella shell corrente.. &lt;br /&gt;mah&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;Il problema (verificatosi su debian testing) era dovuto ad un aggiornamento di settimana scorsa che aveva fatto puntare /bin/sh a /bin/dash invece che a /bin/bash. L'aggiornamento di oggi ripristina il tutto. Problema analizzato grazie all'intervento di &lt;a href="http://fissore.org"&gt;Federico&lt;/a&gt; (nei commenti)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6658186457638860006?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6658186457638860006/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6658186457638860006' title='6 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6658186457638860006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6658186457638860006'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/08/comportamento-anomalo-nella-bash-di.html' title='Comportamento anomalo nella Bash di Debian Testing'/><author><name>Shatsar</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>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-855782704353028950.post-179422313894860006</id><published>2009-07-21T23:54:00.003+02:00</published><updated>2009-07-22T00:14:11.006+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Disabilitare il lookup degli host in resolv.conf</title><content type='html'>Mi è capitato spesso di vedere dei server che rispondono alla richiesta di una connessione dopo alcuni secondi. Questo delay è dovuto alla risoluzione da parte del server del nome dell'host che ha richiesto la connessione. Raramente il pc client ha un nome associato (per esempio in reti interne in dhcp) per cui ci sono volte in cui questo delay fa davvero incazzare..&lt;br /&gt;&lt;br /&gt;Normalmente basta associare all'ip corrente del client un nome in /etc/hosts, ma spesso non vale la pena riempire questo file con varie entry in caso di dhcp selvaggio.&lt;br /&gt;&lt;br /&gt;Ultimamente avevo affrontato il problema per ssh, impostando a No il flag "UseDns" in /etc/ssh/sshd_config. Questo snelliva le connessioni ssh, lasciando però il delay, per esempio, nelle connessioni postgreSQL.&lt;br /&gt;&lt;br /&gt;Quindi ho scoperto che questo si può migliorare agendo sul file resolv.conf.&lt;br /&gt;&lt;br /&gt;In /etc/resolv.conf si possono mettere un sacco di impostazioni avanzate (vedere la sezione options del man), in particolare il flag che mi sta facendo risparmiare un sacco di tempo è  &lt;b&gt;no-check-names&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-179422313894860006?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/179422313894860006/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=179422313894860006' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/179422313894860006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/179422313894860006'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/07/disabilitare-il-lookup-degli-host-in.html' title='Disabilitare il lookup degli host in resolv.conf'/><author><name>Shatsar</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-855782704353028950.post-483589131908392730</id><published>2009-07-14T22:19:00.003+02:00</published><updated>2009-07-14T22:31:28.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Explorer e gli input type="image"</title><content type='html'>Oggi ho risolto una piccola cazzata che voglio condividere con la moltitudine dei miei lettori:&lt;br /&gt;in caso di &lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt:input type="image" onclick="form.submit()" /&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Firefox e safari faranno un solo submit, explorer 2, uno via javascript e l'altro dovuto all'input.&lt;br /&gt;Avendo lavorato parecchio in Ajax, mi è nota la pericolosità dell'onclick sui bottoni che normalmente fanno il submit.&lt;br /&gt;&lt;br /&gt;Infatti in questo caso l'effetto dell'operazione è il medesimo, ma spesso capita di fare questo "trucco": sull'onclick cerco di fare tutto via javascript e ajax. Se per qualche motivo il browser non supporta js, seguirà il corso normale effettuando il submit del form in stile classico "web 1.0", permettendo comunque la fruizione del sito web. Finezza che troppo poche volte vedo implementata. &lt;br /&gt;Ma tornando al discorso, il trucco funziona solo se l'onclick termina con un "return false".. come per l'onsubmit dell'elemento form.. se la validazione js fallisce bisogna forzare un return false, altrimenti il browser pensa di poter andare avanti tranquillamente.. quindi la riga che ho messo sopra è diventata:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt:input type="image" onclick="form.submit();return false;" /&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Il fatto è che si trattava di un sito di e-commerce e rappresentava il form in cui si mette il numero che si vuole acquistare di un determinato prodotto.. il risultato è che inserire 1 e cliccare sul tasto su firefox e safari faceva mettere 1 elemento nel carrello, mentre con IE ci finivano 2 prodotti, derivanti dal doppio submit.. io l'avrei lasciato così, d'altra parte se usi Explorer.. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-483589131908392730?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/483589131908392730/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=483589131908392730' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/483589131908392730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/483589131908392730'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/07/explorer-e-gli-input-typeimage.html' title='Explorer e gli input type=&quot;image&quot;'/><author><name>Shatsar</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-855782704353028950.post-6413218461090560110</id><published>2009-07-07T18:24:00.002+02:00</published><updated>2009-07-07T18:33:28.857+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='maven'/><title type='text'>[HOWTO] mvn eclipse:eclipse su progetti j2ee</title><content type='html'>Torno attivo sul blog dopo un periodo offline (dovuto ad una grandissima mole di lavoro, soprattutto per la startup di cui ormai sono parte integrante) con un brevissimo post con un tip utile per chi vuole usare maven ed eclipse:&lt;br /&gt;&lt;br /&gt;normalmente (per progetti Java) la plugin di maven per eclipse funziona splendidamente, anche in presenza di diversi moduli, per i quali crea le dipendenze tra progetti eclipse. Per risolvere il problema della configurazione dei progetti WTP, dopo aver impostato il packaging a war, il modo per far generare correttamente i file di progetto di eclipse è di aggiungere le seguenti righe al pom, nella sezione plugins&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;plugin&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;artifactId&amp;gt;maven-eclipse-plugin&amp;lt;/artifactId&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;version&amp;gt;2.7&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;wtpversion&amp;gt;2.0&amp;lt;/wtpversion&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/configuration&amp;gt;&lt;br /&gt;&amp;lt;/plugin&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6413218461090560110?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6413218461090560110/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6413218461090560110' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6413218461090560110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6413218461090560110'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/07/howto-mvn-eclipseeclipse-su-progetti.html' title='[HOWTO] mvn eclipse:eclipse su progetti j2ee'/><author><name>Shatsar</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-855782704353028950.post-764075837272568781</id><published>2009-05-21T00:42:00.003+02:00</published><updated>2009-05-21T00:52:10.615+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>Sourceforge e Trac</title><content type='html'>&lt;a href="http://sf.net"&gt;Sourceforge&lt;/a&gt; ha deciso di aggiungere &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; ai suoi servizi.&lt;br /&gt;Grandioso.. a me piace un sacco Trac, perchè è uno strumento utile, semplice ed essenziale. Fa quello per cui è stato pensato senza perdersi in puttanate.&lt;br /&gt;&lt;br /&gt;Ho subito richiesto di attivarlo su uno dei miei progetti opensource hostati là. Ho eliminato altri componenti inutili (tipo il sistema di ticket e il wiki) per passare tutto sotto trac.&lt;br /&gt;&lt;br /&gt;Tra l'altro da un mesetto ho riniziato ad usarlo anche per lavoro.. quindi il fatto di aver allineato gli strumenti che uso nella mia attività lavorativa e nello sviluppo occasionale va sicuramente a mio vantaggio..&lt;br /&gt;&lt;br /&gt;Tra l'altro al lavoro l'ho usato prima con il tracd (il sever http integrato) lanciato sull'interfaccia di rete locale, poi l'ho montato su un &lt;a href="http://trac.edgewall.org/wiki/TracModPython"&gt;apache con mod_python&lt;/a&gt;, con login dipendente da un htpasswd a cui punta anche subversion, messo anche lui su http. Così una sola porta (la 80), una sola autenticazione (nome e pw del file .htpasswd in questione) ed un solo protocollo (http).. comodo, nè?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-764075837272568781?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/764075837272568781/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=764075837272568781' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/764075837272568781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/764075837272568781'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/05/sourceforge-e-trac.html' title='Sourceforge e Trac'/><author><name>Shatsar</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-855782704353028950.post-6557739160857236451</id><published>2009-05-19T21:41:00.003+02:00</published><updated>2009-05-19T22:01:05.473+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>[HOWTO] Immagini con testo dinamico in PHP con GD</title><content type='html'>Ormai i miei pochi lettori avranno capito che passo da un argomento all'altro senza alcuna logica, ma salto da una tematica all'altra in base ai vari progetti che seguo contemporaneamente (che senso avrebbe lavorare in partita iva per una sola azienda?) oppure in base a miei interessi o mie ricerche personali.&lt;br /&gt;&lt;br /&gt;In questo caso si tratta di lavoro: fare un'immagine di sfondo con un testo configurabile che viene scritto in una certa area. In PHP&lt;br /&gt;&lt;br /&gt;Pensavo fosse una cosa complessa.. invece l'ho preparato in 5 minuti:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;// Imposto l'header http&lt;br /&gt;header("Content-type: image/png");&lt;br /&gt;  &lt;br /&gt;// carico lo sfondo&lt;br /&gt;$im = ImageCreateFromPng('sfondo1.png');&lt;br /&gt;   &lt;br /&gt;// trovo l'indice del bianco nella palette&lt;br /&gt;// (il colore della scritta)&lt;br /&gt;$white = imagecolorexact($im, 255, 255, 255);&lt;br /&gt;&lt;br /&gt;// imposto il font (questo è il path dei font di magento, &lt;br /&gt;// ma è possibile mettere un ttf a scelta)&lt;br /&gt;$font_file='./lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf';&lt;br /&gt;&lt;br /&gt;// testo esemplificativo (poi sarà valorizzato in base a query&lt;br /&gt;// o a input dell'utente)&lt;br /&gt;$msg_text = "Hello World\nCome va?";&lt;br /&gt;&lt;br /&gt;// posizione da cui parto a scrivere&lt;br /&gt;$x=50;&lt;br /&gt;$y=50;&lt;br /&gt;&lt;br /&gt;// passo tutto alla funzione imagefttext con 12pt di grandezza font e &lt;br /&gt;// angolo 0 (normale da sx a dx)&lt;br /&gt;imagefttext($im,12,0, $x, $y, $white, $font_file, $msg_text);&lt;br /&gt; &lt;br /&gt;// invio la png risultante&lt;br /&gt;ImagePNG($im);&lt;br /&gt;&lt;br /&gt;// libero la risorsa&lt;br /&gt;ImageDestroy($im);&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;That's all folks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6557739160857236451?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6557739160857236451/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6557739160857236451' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6557739160857236451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6557739160857236451'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/05/howto-immagini-con-testo-dinamico-in.html' title='[HOWTO] Immagini con testo dinamico in PHP con GD'/><author><name>Shatsar</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-855782704353028950.post-8676794091637638690</id><published>2009-05-14T12:34:00.001+02:00</published><updated>2009-05-14T12:34:00.763+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>Come non fare un sondaggio su internet</title><content type='html'>Se avete letto del sondaggio, indetto dal Times, sulle persone più influenti del 2009, sicuramente sapete già che il &lt;a href="http://punto-informatico.it/2611417/PI/News/papa-4chan-uomo-piu-influente-del-2009.aspx"&gt;risultato&lt;/a&gt; è a dir poco curioso.. &lt;br /&gt;&lt;br /&gt;Ma ecco anche il retroscena: "&lt;a href="http://musicmachinery.com/2009/04/15/inside-the-precision-hack/"&gt;Inside the precision hack&lt;/a&gt;".. da leggere!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8676794091637638690?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8676794091637638690/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8676794091637638690' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8676794091637638690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8676794091637638690'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/05/come-non-fare-un-sondaggio-su-internet.html' title='Come non fare un sondaggio su internet'/><author><name>Shatsar</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-855782704353028950.post-8673097415994424047</id><published>2009-05-12T23:45:00.000+02:00</published><updated>2009-05-12T23:45:00.470+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prism'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Mozilla Prism: prime impressioni (su fluxbox con fbdesk)</title><content type='html'>E' stata rilasciata la versione 1.0 beta1 di &lt;a href="http://prism.mozilla.com/"&gt;Mozilla prism&lt;/a&gt;. Questo è uno di quei progetti che mi entusiasmano pur essendo, in realtà, nulla di particolarmente innovativo o rivoluzionario. &lt;br /&gt;Ma è un passo in avanti.&lt;br /&gt;In pratica è un'interfaccia al browser (basata su xulrunner) che rende ancora più labile il confine tra applicazioni Desktop e applicazioni web. &lt;br /&gt;&lt;br /&gt;Per ora ha diversi limiti: prima di tutto non c'è la versione a 64 bit.. e visto che non voglio installare 80MB di librerie di compatibilità con ia32, sui miei pc principali non posso ancora usarlo.&lt;br /&gt;&lt;br /&gt;Allora la cavia è automaticamente diventata il solito &lt;a href="http://shatsar.blogspot.com/2009/02/howto-usare-un-vecchio-pc-come.html"&gt;portatile scassato&lt;/a&gt; di cui ho parlato altre volte.&lt;br /&gt;&lt;br /&gt;Dunque, la plugin di firefox sembra funzionare bene, ma ho preferito scaricare e scompattare la versione standalone anche se, appena installata, non sapevo bene cosa farmene del file .desktop che genera.. in quanto sto usando fluxbox.&lt;br /&gt;&lt;br /&gt;Allora ho risolto così: ho installato &lt;a href="http://fluxbox.sourceforge.net/fbdesk"&gt;fbdesk&lt;/a&gt;, l'ho configurato (in realtà credo che la configurazione di default di debian vada benissimo) poi ho generato con prism un .desktop.&lt;br /&gt;&lt;br /&gt;Ora, il formato che utilizza fbdesk è lievemente diverso da quello generato da prism, probabilmente per il fatto che fbdesk si aspetta tutte le informazioni per le icone da mettere sul desktop dentro un unico file (~/.fluxbox/fbdesk.icons) quindi, per fare funzionare il tutto ho fatto delle modifica, partendo da quello generato da prism:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[Desktop Entry]&lt;br /&gt;Name=YT&lt;br /&gt;Type=Application&lt;br /&gt;Comment=Web Application&lt;br /&gt;Exec="/home/shatsar/Downloads/prism/prism" -override "/home/shatsar/.webapps/yt@prism.app/override.ini" -webapp yt@prism.app&lt;br /&gt;Icon=/home/shatsar/.webapps/yt@prism.app/icons/default/webapp.png&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ho tagliato un po' di cose inutili ed aggiunto le coordinate (20 110 perchè è la prima icona della seconda riga) e l'end finale:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[Desktop Entry]&lt;br /&gt;Name=YT&lt;br /&gt;Exec="/home/shatsar/Downloads/prism/prism" -override "/home/shatsar/.webapps/yt@prism.app/override.ini" -webapp yt@prism.app&lt;br /&gt;Icon=/home/shatsar/.webapps/yt@prism.app/icons/default/webapp.png&lt;br /&gt;Pos= 20 110&lt;br /&gt;[end]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ora con doppio click sull'icona mi apre l'applicazione web in modo molto più rapido che non con firefox, data l'assenza di una serie di plugin, dei vari buttoni, della barra degli indirizzi, dei segnalibri etc etc.. davvero niente male.. ora quello che mi interessa approfondire è capire se e come si può includere prism dentro la distribuzione di una web application e quali vantaggi ciò porterebbe.. &lt;br /&gt;&lt;br /&gt;intanto complimenti a mozilla!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8673097415994424047?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8673097415994424047/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8673097415994424047' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8673097415994424047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8673097415994424047'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/05/mozilla-prism-prime-impressioni-su.html' title='Mozilla Prism: prime impressioni (su fluxbox con fbdesk)'/><author><name>Shatsar</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-855782704353028950.post-2688398878331382551</id><published>2009-05-07T12:25:00.004+02:00</published><updated>2009-05-07T12:44:29.972+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pillole'/><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='magento'/><title type='text'>Magento e la personalizzazione della pagina dei prodotti</title><content type='html'>Continuano le mie avventure su magento.. Per modificare la pagina dei prodotti, quello che è necessario fare è, più o meno, questo:&lt;br /&gt;* cambiare layout (dal default di 2 colonne con barra laterale a destra) modificando il file catalog.xml dentro la cartella template (che si trova nella cartella del tema): quello che va ritoccato è il nodo catalog_product_view&lt;br /&gt;* modificare il file view.phtml (dentro template/catalog/product/ ) che è il componente principale della pagina dei prodotti, che include diversi componenti presenti nella cartella template/catalog/product/view&lt;br /&gt;* cambiare l'html dei vari componenti modificando i file in template/catalog/product/view .. per esempio addtocart.phtml per cambiare l'html del tasto di "add to cart" oppure "addto.phtml" per la parte di wishlist/compare&lt;br /&gt;&lt;br /&gt;Alcune cose mi sfuggono ancora dell'architettura di magento, ma mi ci sto avvicinando e, tra un po', dovrò anche scrivere dei componenti specifici per l'e-shop su cui sto lavorando, quindi vedrò anche la struttura proprio delle API php.. e lì si che ci sarà da divertirsi..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2688398878331382551?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2688398878331382551/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2688398878331382551' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2688398878331382551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2688398878331382551'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/05/magento-e-la-personalizzazione-della.html' title='Magento e la personalizzazione della pagina dei prodotti'/><author><name>Shatsar</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-855782704353028950.post-4383616496662285460</id><published>2009-05-05T00:02:00.004+02:00</published><updated>2009-05-05T00:14:18.918+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='magento'/><title type='text'>Primo contatto con Magento</title><content type='html'>Da circa una settimana sto lavorando su un progetto basato su &lt;a href="http://www.magentocommerce.com/"&gt;magento&lt;/a&gt;. E' una applicazione PHP per e-shop di rara potenza. &lt;br /&gt;&lt;br /&gt;Per ora sto lavorando sulla grafica. Sto modificando il template di default: quindi lavoro prevalentemente dentro la cartella app/design/frontend/default/default (poi rinominerò tutto per avere un layout separato). Per cambiare l'impostazione della pagina vado a modificare page.xml, da cui posso, per esempio, aggiungere e togliere blocchi dalla pagina. Per modificare le impostazioni dei vari componenti (per esempio footer) bisogna andare a modificare i relativi file .phtml dentro template/ (sempre dentro app/design...). Ora, per esempio, sto modificando template/catalog/product/list.phtml per cambiare la visualizzazione dei prodotti.&lt;br /&gt;&lt;br /&gt;Come prima impressione direi che è un sistema potentissimo perchè mette a disposizione un sacco di funzionalità (dalla gestione dei prodotti alle impostazioni dell'e-shop stesso), ma è molto complesso da modificare e, visto che la documentazione ufficiale mi pare assolutamente inadeguata, l'unica risorsa è cercare sul forum.. &lt;br /&gt;&lt;br /&gt;Finito il discorso della grafica dovrò anche sviluppare dei moduli aggiuntivi.. e lì si che ci sarà da bestemmiare..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4383616496662285460?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4383616496662285460/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4383616496662285460' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4383616496662285460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4383616496662285460'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/05/primo-contatto-con-magento.html' title='Primo contatto con Magento'/><author><name>Shatsar</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-855782704353028950.post-1423234299302088306</id><published>2009-04-29T19:03:00.000+02:00</published><updated>2009-04-29T19:03:00.366+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>[HOWTO] Installare kqemu su debian</title><content type='html'>Visto che in un post precedente avevo accennato a module-assistant, dedico un rapido post al suo utilizzo per installare kqemu.&lt;br /&gt;&lt;br /&gt;kqemu è il modulo del kernel necessario per avere prestazioni migliori usando qemu.&lt;br /&gt;Installarlo con module-assistant è rapidissimo:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;erakis:~# m-a prepare &lt;br /&gt;erakis:~# m-a clean,get,build kqemu&lt;br /&gt;erakis:~# m-a install kqemu&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Il primo comando prepara il pc alla compilazione (installando build-essential, i kernel headers etc etc..). Il secondo prima fa pulizia da eventuali compilazioni precedenti, poi scarica i sorgenti di kqemu e li compila, creando il .deb per il pc in questione. Infine lo si installa.. meglio di così..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1423234299302088306?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1423234299302088306/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1423234299302088306' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1423234299302088306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1423234299302088306'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/howto-installare-kqemu-su-debian.html' title='[HOWTO] Installare kqemu su debian'/><author><name>Shatsar</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-855782704353028950.post-7449780909668829102</id><published>2009-04-27T19:28:00.000+02:00</published><updated>2009-04-27T19:28:00.908+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><title type='text'>Driver Nvidia ufficiali su debian (64 bit)</title><content type='html'>Non mi ricordo mai i parametri ottimali.. per ora mi sembra siano questi, per cui me li segno qui sul blog:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;erakis:/usr/src# CC=gcc-4.1 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --update --accept-license --kernel-source-path=/usr/src/linux --no-precompiled-interface&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;== Spiegazione&lt;br /&gt;Come prima cosa imposto il compilatore giusto (per il kernel che ho) poi lancio NVIDIA-Linux-x86_64-173.14.12-pkg2.run , che è la versione del driver che avevo già in locale. Usando --update scarica l'ultima versione, non mi chiede di accettare la licenza ( --accept-license), non mi chiede di cercare versioni precompilate (--no-precompiled-interface) e si compila allegramente il modulo.&lt;br /&gt;&lt;br /&gt;Ah, prima di lanciare il tutto consiglio di usare module-assistant facendo &lt;br /&gt;&lt;code&gt;&lt;br /&gt;erakis:/usr/src# m-a prepare&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Giusto per avere l'ambiente pronto con tutti gli strumenti necessari per compilare&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7449780909668829102?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7449780909668829102/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7449780909668829102' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7449780909668829102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7449780909668829102'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/nvidia.html' title='Driver Nvidia ufficiali su debian (64 bit)'/><author><name>Shatsar</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-855782704353028950.post-4287415170339876463</id><published>2009-04-23T22:01:00.003+02:00</published><updated>2009-04-23T22:09:22.524+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ffmpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='smartphone'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><title type='text'>ffmpeg+ "Seems stream 0 codec frame rate differs from container frame rate"</title><content type='html'>Incredibile, dopo mezz'ora di tentativi ho scoperto che il problema era che il file di input era in audio 5.1 .. dico "incredibile" per il fatto che l'errore di ffmpeg di certo non aiutava, per cui non ho ben capito come ho fatto a risolverlo.. cmq il comando che uso ora per fare l'encoding di filmati per lo smartphone (che spiegavo &lt;a href="http://shatsar.blogspot.com/2008/09/ffmpeg-per-video-su-smartphone-windows.html"&gt;qui&lt;/a&gt;) è diventato:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ffmpeg -i $input -s qvga -vcodec wmv2  -r 25k -acodec wmav2 -ar 22050 -ab 64k &lt;b&gt;-ac 2&lt;/b&gt; $output.wmv&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;con l'aggiunta di ac 2 per forzare la modalità stereo..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4287415170339876463?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4287415170339876463/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4287415170339876463' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4287415170339876463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4287415170339876463'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/ffmpeg-seems-stream-0-codec-frame-rate.html' title='ffmpeg+ &quot;Seems stream 0 codec frame rate differs from container frame rate&quot;'/><author><name>Shatsar</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-855782704353028950.post-6476509376426556882</id><published>2009-04-22T15:36:00.003+02:00</published><updated>2009-04-22T15:46:22.475+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Il suicidio continuo di Tilda</title><content type='html'>Come detto, sul portatile vecchio semidistrutto ho messo in autostart firefox e &lt;a href="http://tilda.sourceforge.net"&gt;tilda&lt;/a&gt;, per avere il web ed una console sempre a portata di mano.&lt;br /&gt;&lt;br /&gt;Ultimamente tilda rappresenta unicamente una rottura di palle. Per qualche motivo assurdo ogni tot si auto-sputtana il file di configurazione (~/.tilda/config_0) per cui sono costretto a cancellare la cartella e a riconfigurarlo.. &lt;br /&gt;&lt;br /&gt;Non ho ancora avuto tempo di indagare, ma per ora questo suo suicidio continuo in segmentation fault è abbastanza fastidioso.&lt;br /&gt;&lt;br /&gt;Ho trovato che il problema era il file di configurazione lanciando tilda con &lt;a href="http://strace.sourceforge.net"&gt;strace&lt;/a&gt;, da cui ho visto che l'ultima syscall, prima di lanciare SIGSEGV, era una open sul file di configurazione..&lt;br /&gt;&lt;br /&gt;che roba&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6476509376426556882?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6476509376426556882/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6476509376426556882' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6476509376426556882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6476509376426556882'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/il-suicidio-continuo-di-tilda.html' title='Il suicidio continuo di Tilda'/><author><name>Shatsar</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-855782704353028950.post-5077790270814153557</id><published>2009-04-19T01:23:00.001+02:00</published><updated>2009-04-19T01:23:00.159+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>[HOWTO] aircrack ed intel 3945</title><content type='html'>Come dicevo nel precedente post ( &lt;a href="http://shatsar.blogspot.com/2009/04/giocando-con-la-wireless.html"&gt;Giocando con la Wireless&lt;/a&gt; ), avevo qualche problema ad usare la wireless con aicrack sulla scheda del mio portatile:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~$ lspci  | grep -i wireless&lt;br /&gt;02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;il problema è che nel driver ufficiale non è prevista la modalità "Monitor" (nel senso che in realtà non sniffa niente) nè la possibilità di effettuare injection. &lt;br /&gt;&lt;br /&gt;Quindi sono andato a scovare la pagina di aircrack-ng.org relativa alla mia scheda nella cache di Google (pare che oggi il sito sia giù):&lt;br /&gt;&lt;br /&gt;Bisogna usare ipwraw, un modulo sostituitivo che permette queste funzionalità. La homepage è questa: &lt;a href="http://homepages.tu-darmstadt.de/~p_larbig/wlan/"&gt;http://homepages.tu-darmstadt.de/~p_larbig/wlan/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;quindi, dopo aver verificato l'installazione dei prerequisiti (apt-get install linux-headers-`uname -r` build-essential libssl-dev ):&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:/tmp$ wget http://homepages.tu-darmstadt.de/~p_larbig/wlan/ipwraw-ng-2.3.4-04022008.tar.bz2&lt;br /&gt;shatsar@erakis:/tmp$ tar -xjf ipwraw-ng-2.3.4-04022008.tar.bz2&lt;br /&gt;shatsar@erakis:/tmp$ cd ipwraw-ng/&lt;br /&gt;shatsar@erakis:/tmp/ipwraw-ng$ make&lt;br /&gt;shatsar@erakis:/tmp/ipwraw-ng$ su&lt;br /&gt;Password: &lt;br /&gt;erakis:/tmp/ipwraw-ng# make install&lt;br /&gt;erakis:/tmp/ipwraw-ng# make install_ucode&lt;br /&gt;erakis:/tmp/ipwraw-ng# echo “blacklist ipwraw” &gt;&gt; /etc/modprobe.d/blacklist&lt;br /&gt;erakis:/tmp/ipwraw-ng# modprobe -r iwl3945&lt;br /&gt;erakis:/tmp/ipwraw-ng# modprobe ipwraw &lt;br /&gt;erakis:/tmp/ipwraw-ng# airodump-ng wifi0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Breve spiegazione: scarico i sorgenti, compilo ed installo sia il modulo che il firmware. Poi metto il modulo ipwraw in blacklist, perchè non è da usare normalmente, quindi non deve essere caricato all'avvio. &lt;br /&gt;poi sostituisco il modulo attualmente caricato e lancio airodump..&lt;br /&gt;&lt;br /&gt;Una volta finito di giocare, va reimpostato il driver in uso, quindi modprobe -r su ipwraw e modprobe su iwl3945&lt;br /&gt;&lt;br /&gt;Enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5077790270814153557?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5077790270814153557/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5077790270814153557' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5077790270814153557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5077790270814153557'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/howto-aircrack-ed-intel-3945.html' title='[HOWTO] aircrack ed intel 3945'/><author><name>Shatsar</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-855782704353028950.post-6244646342393407537</id><published>2009-04-18T17:41:00.005+02:00</published><updated>2009-04-18T18:54:41.669+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Giocando con la wireless</title><content type='html'>Mi sono preso un sabato di pausa.. abbastanza svacco ed un po' di smanettamenti vari..&lt;br /&gt;Il dubbio da risolvere era questo: sul portatile nuovo, airodump vede le reti, riceve i beacon ma non sniffa neanche un po' il traffico dati. Volevo capire se era un caso o ha problemi il driver.&lt;br /&gt;&lt;br /&gt;Quindi ho pensato di crearmi l'ambiente ideale a casa da bucare. Sul mio pc vecchio (quello che ora è una &lt;a href="http://shatsar.blogspot.com/2009/02/howto-usare-un-vecchio-pc-come.html"&gt;postazione internet&lt;/a&gt;) ho quindi deciso di riattivare la wireless.&lt;br /&gt;&lt;br /&gt;Vado a cercare i driver che usavo per l'interruttore della wireless, l'fsam7400. Scopro che ormai sono obsoleti, ed è tutto molto ma molto più comodo:&lt;br /&gt;&lt;br /&gt;&gt; modprobe wistron_btns&lt;br /&gt;&lt;br /&gt;premere il tasto hotkey della wireless. &lt;br /&gt;Fatto.&lt;br /&gt;Bello. &lt;br /&gt;Parto, mi connetto alla rete e comincio a generare traffico: dall'altro portatile: airodump vede zero traffico. Scheda: intel 3945. &lt;br /&gt;Pare ci siano dei problemi con i driver delle schede wireless Intel..&lt;br /&gt;&lt;br /&gt;Ho anche un adattatore wireless usb, il dlink g122. Ora vedo quale dei due riesco a far funzionare senza perderci sopra il weekend..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6244646342393407537?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6244646342393407537/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6244646342393407537' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6244646342393407537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6244646342393407537'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/giocando-con-la-wireless.html' title='Giocando con la wireless'/><author><name>Shatsar</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-855782704353028950.post-712360774931200723</id><published>2009-04-06T13:52:00.005+02:00</published><updated>2009-04-06T14:31:05.866+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='opensolaris'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>HOWTO installare OpenSolaris come immagine QEMU</title><content type='html'>Ho deciso di usare un po' &lt;a href="http://opensolaris.org"&gt;OpenSolaris&lt;/a&gt;, visto che potrebbe essere la scelta per i server di un progetto molto molto interessante nel quale sto entrando.&lt;br /&gt;&lt;br /&gt;Come primo tentativo di avvicinamento, direi di usarlo come immagine qemu..Proseguo quindi con la &lt;a href="http://shatsar.blogspot.com/search/label/qemu"&gt;lista di post su qemu&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt; shatsar@erakis:~$ wget http://dlc.sun.com/torrents/info/osol-0811.iso.torrent&lt;br /&gt;&gt; shatsar@erakis:~$ rtorrent osol-0811.iso.torrent &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Dopo che ha finito il download dell'immagine iso (scaricabile anche in altri modi dal sito ufficiale..) preparare l'immagine:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~$ qemu-img create -f qcow2 /home/shatsar/opensolaris.img 3600M&lt;br /&gt;Formatting '/home/shatsar/opensolaris.img', fmt=qcow2, size=3686400 kB&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Infine far partire l'installazione. Ovviamente si riesce ad evitare di masterizzare.. io pensavo di dover montare in loop device l'immagine iso, invece è ancora più semplice:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~$ qemu -hda opensolaris.img -boot d -cdrom osol-0811.iso -m 512 -localtime&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ovviamente questa procedura, dopo aver visto che l'iso è sufficiente per far partire l'installazione, può essere usata per qualsiasi sistema operativo..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-712360774931200723?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/712360774931200723/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=712360774931200723' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/712360774931200723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/712360774931200723'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/04/howto-installare-opensolaris-come.html' title='HOWTO installare OpenSolaris come immagine QEMU'/><author><name>Shatsar</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-855782704353028950.post-4879459412781938683</id><published>2009-03-23T13:13:00.000+01:00</published><updated>2009-03-23T13:13:00.994+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Windows XP su QEMU: Avvio ed Ottimizzazione</title><content type='html'>Finalmente riesco a scrivere qualcosa riguardo QEMU.&lt;br /&gt;Come già detto, &lt;a href="http://shatsar.blogspot.com/2009/02/howto-installare-windows-xp-su-qemu.html"&gt;ho installato windows xp come immagine di qemu&lt;/a&gt;.&lt;br /&gt;Il passo successivo è quello di avviare la macchina con interfaccia di rete abilitata:&lt;br /&gt;Il comodo metodo di default è :&lt;br /&gt;&lt;br /&gt;&gt; shatsar@erakis:~$ qemu -hda xp.img -boot c -m 512 -localtime -net nic -net user&lt;br /&gt;&lt;br /&gt;In questo modo crea un'interfaccia di rete con una configurazione basilare (con dhcp e nat) per far uscire la macchina virtuale su internet.&lt;br /&gt;&lt;br /&gt;Se (per caso) ci fossero problemi con versioni trial/attivazioni, c'è la possibilità di passare un ulteriore parametro (startdate) per far credere alla macchina virtuale di essere in altre "coordinate temporali":&lt;br /&gt;&lt;br /&gt;&gt; shatsar@erakis:~$  qemu -hda xp.img -boot c -m 512 -localtime -startdate 2009-03-03T10:01:21  -net nic -net user&lt;br /&gt;&lt;br /&gt;Magari il tempo di acquistare una licenza o trovare il crack, ma io questo non l'ho detto, sia chiaro..&lt;br /&gt;&lt;br /&gt;== Ottimizzazioni&lt;br /&gt;Avendo poco spazio su disco e poca ram bisogna lavorare un po' sull'ottimizzazione, contando che questa macchina verrà usata solo per task ridotti (se volete usarla di più dovrete darle in pasto ben più di 2.5GB e 512m di ram), ecco quello che ho fatto:&lt;br /&gt;tasto destro su risorse del computer --&gt; proprietà --&gt; avanzate --&gt; prestazioni (Impostazioni)&lt;br /&gt;* effetti visivi: su "Regola in modo da avere prestazioni migliori"&lt;br /&gt;* page file: di default viene istanziato come il 150% della RAM.. se vi sembra che dare un range da 768MB a 1.5GB al file di paging su 2.5GB totali di disco sia quantomeno limitante, dalla scheda avanzate si può cambiare l'impostazione della memoria virtuale scendendo a valori ragionevoli&lt;br /&gt;* disinstallare le applicazioni inutili: da pannello di controllo --&gt; installazione applicazioni --&gt; installazione componenti di windows ho tolto tutto tranne explorer (che poi, in realtà, per alcuni componenti, quello che si va a togliere è solo il link nel menù start..)&lt;br /&gt;* ho tolto l'impostazione di esplora risorse che "Cerca automaticamente cartelle e stampanti di rete" da strumenti --&gt; opzioni --&gt; visualizzazione. &lt;br /&gt;* ho tolto l'immagine di sfondo&lt;br /&gt;* già che c'ero ho fatto anche un bel defrag..&lt;br /&gt;&lt;br /&gt;Non ho voluto apportare troppe modifiche all'installazione attuale, quindi niente software esterni per ottimizzazione/caching nè ho eliminato i font..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4879459412781938683?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4879459412781938683/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4879459412781938683' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4879459412781938683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4879459412781938683'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/03/windows-xp-su-qemu-avvio-ed.html' title='Windows XP su QEMU: Avvio ed Ottimizzazione'/><author><name>Shatsar</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-855782704353028950.post-122936242317842306</id><published>2009-03-22T11:31:00.005+01:00</published><updated>2009-03-22T15:02:42.750+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='tesi'/><title type='text'>TeXlipse</title><content type='html'>Chi mi conosce da tempo sa che uso spesso &lt;a href="http://www.latex-project.org"&gt;LaTeX&lt;/a&gt;; l'ho usato per scrivere diversi documenti e anche qualche presentazione. Avevo iniziato anche a scrivere qualcosa su LaTeX per ArabianFenix, tra l'altro..e tutt'ora lo uso per diverse cose: per esempio, stanco del modello europeo, sto scrivendo anche il Curriculum Vitae in LaTeX..&lt;br /&gt;&lt;br /&gt;Inoltre, il fatto che il sorgente sia in forma di file di testo, mi permette un versionamento ottimale, con un diff sensato ed utilizzabile, cosa che, ovviamente, decade con formati binari quali odt e doc. Per questo motivo è in LaTeX sia la documentazione dei miei progetti opensource (che sto tralasciando da un po', ma riprendo tutto tra un paio mesi) che la mia tesi specialistica (che ormai è praticamente finita) che è poi sotto repository subversion locale.&lt;br /&gt;&lt;br /&gt;Ho sempre scritto documenti latex con vi per poi compilare con script shell (per il semplice fatto che per gestire bene i riferimenti interni, bisogna compilare più di una volta). Per un breve periodo avevo usato altri editor. Alcuni erano un po' troppo visuali per i miei gusti, mentre &lt;a href="http://kile.sourceforge.net"&gt;kile&lt;/a&gt;, in assoluto il mio preferito, semplicemente è scritto con le QT, mentre io uso Gnome, quindi diventava un po' lento.. convincendomi a tornare a vi.&lt;br /&gt;&lt;br /&gt;Comunque, dovendo già usare eclipse per il codice su cui ruota la mia discussione, ho provato a cercare una plugin per latex: ed è così che ho trovato &lt;a href="http://texlipse.sourceforge.net/"&gt;TeXlipse&lt;/a&gt;, uno strumento che mi sta agevolando parecchio il lavoro di scrittura della tesi. &lt;br /&gt;&lt;br /&gt;Ora, con questa plugin di eclipse, è tutto molto più rapido: ho impostato texlipse in modo da compilarmi ad ogni modifica i sorgenti .tex e di dare in output in formato pdf.&lt;br /&gt;&lt;br /&gt;Un'altra caratteristica che mi sta aiutando parecchio, oltre, ovviamente, al fatto che mi segnala subito gli eventuali errori nelle direttive latex, è il partial building:&lt;br /&gt;per esempio, avendo un .tex "master" che include tutti i capitoli (con la direttiva \include), quando sto lavorando massicciamente su un capitolo, non ha senso che mi ricompili tutto.. per cui attivando la compilazione parziale, texclipse mi crea un file .tex temporaneo che ha la struttura del mio documento master, ma include solamente il capitolo su cui sto lavorando. &lt;br /&gt;&lt;br /&gt;E, come si sa, gestire un file più piccolo ha sempre i suoi vantaggi..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-122936242317842306?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/122936242317842306/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=122936242317842306' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/122936242317842306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/122936242317842306'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/03/texlipse.html' title='TeXlipse'/><author><name>Shatsar</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-855782704353028950.post-3722764691109684047</id><published>2009-03-17T17:55:00.004+01:00</published><updated>2009-03-17T18:02:44.493+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>[HOWTO] PL/SQL: cursore dinamico (con parametro)</title><content type='html'>Dato che in rete non avevo trovato nulla di veramente chiarificatore a riguardo, posto qualche riga di PL/SQL su come ho risolto il problema di fare un cursore dinamico. Il codice seguente ovviamente è una versione semplificata di quello che ho scritto realmente, ma è giusto per far capire il concetto..&lt;br /&gt;&lt;br /&gt;visto che non è possibile dichiarare un cursore senza inizializzarlo, ho creato due cursori nel seguente modo:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE OR REPLACE FUNCTION calcolaQualcosa RETURN NUMBER IS&lt;br /&gt;&amp;nbsp;&amp;nbsp;cursor categorie is select categoria from catalogo where;&lt;br /&gt;&amp;nbsp;&amp;nbsp;cursor prodotti(p_param varchar2) is select distinct prodotto from prodotti where categoria = p_param;&lt;br /&gt;BEGIN&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;e all'interno del codice si usa semplicemente così::&lt;br /&gt;&lt;code&gt;&lt;br /&gt;for i in categorie loop&lt;br /&gt;&amp;nbsp;&amp;nbsp;for j in prodotti(i.categoria) loop&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dbms_output.put_line('Categoria: ' || i.categoria || 'Prodotto: ' || j.prodotto);&lt;br /&gt;&amp;nbsp;&amp;nbsp;end loop;&lt;br /&gt;end loop;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-3722764691109684047?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/3722764691109684047/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=3722764691109684047' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3722764691109684047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3722764691109684047'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/03/howto-plsql-cursore-dinamico-con.html' title='[HOWTO] PL/SQL: cursore dinamico (con parametro)'/><author><name>Shatsar</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-855782704353028950.post-5453406848728612215</id><published>2009-03-11T19:55:00.000+01:00</published><updated>2009-03-11T19:55:00.280+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>[HOWTO] Installare Trac su Fedora Core 8</title><content type='html'>Sto preparando un ambiente di sviluppo su un server di un cliente, una macchina Fedora Core 8.&lt;br /&gt;Premesso che il repository &lt;a href="http://subversion.tigris.org"&gt;svn&lt;/a&gt; è già installato (in locale), installo anche &lt;a href="http://trac.edgewall.org/"&gt;trac&lt;/a&gt; che, secondo me, è uno strumento davvero importante..&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[root@server ~]# yum install trac&lt;br /&gt;[root@server ~]# trac-admin /usr/local/trac initenv&lt;br /&gt;.. segue configurazione rapida con il wizard (inserire correttamente il path del repository)..&lt;br /&gt;[root@server ~]# yum install mod_python&lt;br /&gt;[root@server ~]# vim /etc/httpd/conf/httpd.conf &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;dove, in fondo, ho aggiunto:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;Location /trac&amp;gt&lt;br /&gt;   SetHandler mod_python&lt;br /&gt;   PythonInterpreter main_interpreter&lt;br /&gt;   PythonHandler trac.web.modpython_frontend&lt;br /&gt;   PythonOption TracEnv /usr/local/trac&lt;br /&gt;   PythonOption TracUriRoot /trac&lt;br /&gt;&amp;lt;/Location&amp;gt&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ora bisogna impostare i diritti sulla cartella del trac in modo da dare i permessi in scrittura al server apache:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[root@server ~]# cd /usr/local/trac/&lt;br /&gt;[root@server trac]# chgrp -R apache db/&lt;br /&gt;[root@server trac]# chmod 774 -R db/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;(oppure chown al posto di chgrp e niente chmod.. va a gusti, credo)&lt;br /&gt;&lt;br /&gt;Per attivare l'autenticazione di default, cioè a livello di httpd (che non è un granchè, ma può bastare in questo caso), dentro /etc/httpd/conf/httpd.conf, ho aggiunto le righe:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;Location /trac/login&amp;gt;&lt;br /&gt;  AuthType Basic&lt;br /&gt;  AuthName ".."&lt;br /&gt;  AuthUserFile /usr/local/trac/.htpasswd&lt;br /&gt;  Require valid-user&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ora creiamo il file di password:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[root@server trac]# htpasswd -c /usr/local/trac/.htpasswd michele&lt;br /&gt;New password: &lt;br /&gt;Re-type new password: &lt;br /&gt;Adding password for user michele&lt;br /&gt;[root@server trac]# service httpd restart&lt;br /&gt;Stopping httpd:                                            [  OK  ]&lt;br /&gt;Starting httpd:                                            [  OK  ]&lt;br /&gt;[root@server trac]# &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;fatto.. rapido ed indolore.. la prima volta che avevo installato trac (parlo di almeno 3 anni fa) era stato decisamente più problematico..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5453406848728612215?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5453406848728612215/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5453406848728612215' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5453406848728612215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5453406848728612215'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/03/howto-installare-trac-su-fedora-core-8.html' title='[HOWTO] Installare Trac su Fedora Core 8'/><author><name>Shatsar</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-855782704353028950.post-7827122841825956217</id><published>2009-03-08T22:16:00.004+01:00</published><updated>2009-03-09T11:56:44.085+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smartphone'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Va bene scrivere libri, ma bisogna anche saper distribuirli..</title><content type='html'>Piccola nota polemica verso il libro &lt;a href="http://producingoss.com"&gt;Producing Open Source&lt;/a&gt;.. o meglio, verso chi ha deciso come distribuirlo.. &lt;br /&gt;Infatti dopo aver letto i commenti positivi espressi su &lt;a href="http://www.codinghorror.com"&gt;Coding Horror&lt;/a&gt; ho deciso di leggerlo. &lt;br /&gt;&lt;br /&gt;Prima una digressione:&lt;br /&gt;Da tempo ormai il poco che riesco a leggere è in forma di file chm decompilato da visualizzare splendidamente sullo smartphone durante i miei allegri spostamenti da pendolare. &lt;br /&gt;&lt;br /&gt;Il motivo è che il formato pdf è scomodo. Infatti è vero che esiste il formato &lt;span style="font-style:italic;"&gt;tagged pdf&lt;/span&gt;, per permettere il reflow (aumentando lo zoom la riga va a capo), ma i visualizzatori che li supportano sono a pagamento oppure non sono compatibili col mio smartphone. Per cui il dover continuare a fare lo scroll orizzontale per leggere la riga, poi tornare indietro per la riga successiva mi avrebbe fatto passare la voglia di leggere qualunque cosa.&lt;br /&gt;&lt;br /&gt;La soluzione mi è venuta in mente quando avevo tra le mani un file in formato &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help"&gt;chm&lt;/a&gt; che mi interessava. Dopo aver cercato un viewer, ho pensato di affrontare il problema da un altro punto di vista: &lt;span style="font-style:italic;"&gt;decompiliamolo&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Quindi ho apt-get installato &lt;a href="http://archmage.sourceforge.net"&gt;arCHMage&lt;/a&gt; e ho iniziato a decompilare i chm, mettendo poi le cartelle contenenti i file html direttamente sullo smartphone. Si vedono bene, nel senso che si riesce a fare uno zoom adeguato e la riga va a capo per cui c'è da fare solo lo scroll verticale di tanto in tanto.&lt;br /&gt;&lt;br /&gt;Da quando ho iniziato a sfruttare in questo modo il tempo perso sui mezzi pubblici ho sofferto meno l'infelice decisione di prendere questo smartphone.. &lt;br /&gt;&lt;br /&gt;Comunque il libro in questione (Producing Open Source Software) è disponibile gratuitamente in queste modalità:&lt;br /&gt;* paginona singola online (credo che mi bloccherebbe lo smartphone per 10 minuti circa per caricarlo)&lt;br /&gt;* multi-pagine online (perfetto, quello che voglio, c'è anche un archivio da scaricare con queste pagine?)&lt;br /&gt;* pdf&lt;br /&gt;* formato RocketBook (ho dovuto cercare in rete per capire che era un antenato del kindle)&lt;br /&gt;* oppure tar.gz da 11MB con dentro pdf, sorgenti docbook, file per rocketbook, html singolo e html multi-pagina il tutto in 20 lingue diverse .. e per fortuna che non ho voluto lo zip, che supera 20MB ..&lt;br /&gt;&lt;br /&gt;eh cazzo, avrei fatto prima a fare un download automatico con wget ..&lt;br /&gt;&lt;br /&gt;Per altro ho dovuto modificare il css, che creava dei margini di 130px a destra e 130px a sinistra.. per uno schermo di 320px di larghezza non era proprio ottimale..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7827122841825956217?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7827122841825956217/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7827122841825956217' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7827122841825956217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7827122841825956217'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/03/va-bene-scrivere-libri-ma-bisogna-anche.html' title='Va bene scrivere libri, ma bisogna anche saper distribuirli..'/><author><name>Shatsar</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-855782704353028950.post-1167978076213100389</id><published>2009-02-23T19:23:00.002+01:00</published><updated>2009-02-23T19:23:00.586+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Il ritorno ad XP dei netbook</title><content type='html'>Incredibile, guardando sul sito e-shop di &lt;a href="http://compraonline.mediaworld.it"&gt;mediaworld&lt;/a&gt;, nell'area Computer--&gt; ultraportatili è rimasto un solo modello equipaggiato con GNU/Linux: l'asus eeepc 900A, che è quello che costa meno e sarà sicuramente il prossimo a sparire.. ovviamente altri fornitori hanno ancora a catalogo diversi modelli con sistema non windows, ma credo che sia un segnale, abbastanza preoccupante, di quanto poco il mercato italiano sia pronto al cambiamento.&lt;br /&gt;&lt;br /&gt;Io sono certamente di parte, però mi sembra davvero insensato comprare un netbook con sovrapprezzo per avere windows xp e doverci mettere sopra firewall e antivirus..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1167978076213100389?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1167978076213100389/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1167978076213100389' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1167978076213100389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1167978076213100389'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/02/il-ritorno-ad-xp-dei-netbook.html' title='Il ritorno ad XP dei netbook'/><author><name>Shatsar</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-855782704353028950.post-2385941850421554890</id><published>2009-02-22T11:45:00.003+01:00</published><updated>2009-02-22T12:03:32.450+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>[HOWTO] usare un vecchio pc come postazione internet</title><content type='html'>Un anno fa, dopo più di tre anni di onorato servizio, ho dovuto cambiare portatile. Il vecchio notebook, un fujitsu-siemens amilo m7400, in realtà funziona ancora bene, se non fosse che non si riesce praticamente più a chiudere.&lt;br /&gt;Infatti a novembre 2007 ha ceduto un qualche pezzo interno che collegava la staffa sinistra dello schermo alla scocca, per cui il movimento di apertura e chiusura fa leva sui punti sbagliati.. il risultato è il seguente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6RkOgzr9U3E/SaEsJdjGa9I/AAAAAAAAABY/nLH8PZs33nw/s1600-h/100_4534.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_6RkOgzr9U3E/SaEsJdjGa9I/AAAAAAAAABY/nLH8PZs33nw/s200/100_4534.jpg" alt="" id="BLOGGER_PHOTO_ID_5305570377081449426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6RkOgzr9U3E/SaEsJ3kM7DI/AAAAAAAAABg/j1brW7TME3k/s1600-h/100_4541.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_6RkOgzr9U3E/SaEsJ3kM7DI/AAAAAAAAABg/j1brW7TME3k/s200/100_4541.jpg" alt="" id="BLOGGER_PHOTO_ID_5305570384065391666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tempo fa avevo deciso di rimetterlo in piedi mettendo &lt;a href="http://shatsar.blogspot.com/2008/07/back-to-fluxbox.html"&gt;fluxbox come window manager&lt;/a&gt;. In seguito avevo apportato altre modifiche alla configurazione, per arrivare a quella attuale:&lt;br /&gt;&lt;br /&gt;= Configurazione e software più usati&lt;br /&gt;* &lt;a href="http://www.debian.org/"&gt;debian&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.fluxbox.org/"&gt;fluxbox&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://projects.gnome.org/gdm/"&gt;gdm&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.getfirefox.it/"&gt;firefox&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://tilda.sourceforge.net/"&gt;tilda&lt;/a&gt;&lt;br /&gt;* ssh, vncviewer&lt;br /&gt;&lt;br /&gt;= gdm: autologin&lt;br /&gt;Ho disinstallato xdm e messo gdm, perchè gdm prevede già la possibilità di abilitare l'autologin. Quindi all'avvio di gdm ho lanciato la configurazione (cliccando su actions --&gt; configura ) e nella finestra del gdmsetup, nel tab Sicurezza, ho selezionato "abilita accesso automatico" e ho messo il mio utente&lt;br /&gt;&lt;br /&gt;= fluxbox: autostart&lt;br /&gt;Ho messo in autostart firefox e tilda, in modo da avere il browser a tutto schermo aperto subito appena loggato e la disponibilità di una console "a scomparsa" sempre a portata di mano (l'ho configurato per attivarsi alla pressione di F1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@alrami:~$ cat .fluxbox/startup  | tail -n 8&lt;br /&gt;firefox &amp;amp;&lt;br /&gt;tilda &amp;amp;&lt;br /&gt;# And last but not least we start fluxbox.&lt;br /&gt;# Because it is the last app you have to run it with ''exec'' before it.&lt;br /&gt;&lt;br /&gt;exec /usr/bin/fluxbox&lt;br /&gt;# or if you want to keep a log:&lt;br /&gt;# exec /usr/bin/fluxbox -log "/home/shatsar/.fluxbox/log"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;= fine&lt;br /&gt;In questo modo mi trovo con un pc vecchio ancora utilizzabile, rapido nell'accensione (una configurazione ridotta all'osso, praticamente nessun demone), silenzioso e subito pronto (non devo loggarmi nè avviare programmi). Così posso controllare la posta, leggere qualche news, cazzeggiare su linkedin etc etc anche nei ritagli di tempo, nelle situazioni, cioè, in cui non accenderei un altro pc. E vista l'avanzata dei servizi gestibili via browser, posso fare una serie di operazioni anche più complesse.. &lt;br /&gt;facendo così ho rimandato di qualche tempo la sua fine, in fondo dopo tre anni passati insieme non se lo meritava..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2385941850421554890?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2385941850421554890/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2385941850421554890' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2385941850421554890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2385941850421554890'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/02/howto-usare-un-vecchio-pc-come.html' title='[HOWTO] usare un vecchio pc come postazione internet'/><author><name>Shatsar</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/_6RkOgzr9U3E/SaEsJdjGa9I/AAAAAAAAABY/nLH8PZs33nw/s72-c/100_4534.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-855782704353028950.post-7172880078213378508</id><published>2009-02-17T17:10:00.002+01:00</published><updated>2009-02-17T17:19:23.174+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='annunci'/><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Condivisione Feed</title><content type='html'>Da qualche tempo sto usando come aggregatore di feed rss il google reader. Il motivo per cui ho momentaneamente abbandonato l'amato liferea è che ultimamente mi capita spesso di lavorare su un altro pc o sul mio portatile ma sotto windows. Quindi, in piena direzione cloud computing, ho deciso di affidare i miei feed al servizio via internet di google. &lt;br /&gt;Oggi ho deciso anche di attivare la condivisione di feed attraverso il blog, per cui invece di generare "eco" con post che linkano post su siti esterni (come fanno 3/4 dei messaggi linkati da ziobudda), se non ho nulla da aggiungere semplicemente attiverò la condivisione dal reader, il che risulterà in un link nella colonna a fianco nella sezione "Feed Condivisi", per linkare le informazioni che ho trovato interessanti in modo rapido senza perdere tempo con post inutili&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7172880078213378508?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7172880078213378508/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7172880078213378508' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7172880078213378508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7172880078213378508'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/02/condivisione-feed.html' title='Condivisione Feed'/><author><name>Shatsar</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-855782704353028950.post-8078318480189658305</id><published>2009-02-16T18:06:00.003+01:00</published><updated>2009-02-16T18:21:35.432+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virus'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Un'analisi di Conflicker</title><content type='html'>Da qualche giorno leggo continuamente di questo virus, chiamato conflicker che pare stia facendo una strage di PC, a livello dello storico &lt;a href="http://en.wikipedia.org/wiki/Sasser_(computer_worm)"  target="_blank"&gt;Sasser&lt;/a&gt; del 2004. Per questione di tempo, finora, non ero riuscito a dedicar tempo a questo argomento. Ma oggi due cose mi hanno colpito a riguardo:&lt;br /&gt;* la prima cosa è che Microsoft ha in pratica &lt;a href="http://punto-informatico.it/2551732/PI/News/250mila-dollari-testa-conficker.aspx" target="_blank"&gt;messo una taglia sugli sviluppatori del virus&lt;/a&gt;, 250 mila dollari. Non si vedeva una cosa del genere dai tempi del Sasser.&lt;br /&gt;* la seconda, a cui dedicherò sicuramente un po' di tempo per una lettura approfondita è l'&lt;a href="http://mtc.sri.com/Conficker/" target="_blank"&gt;analisi di conflicker&lt;/a&gt; che, seppur pubblicata già dal 4 febbraio, è continuamente in lavorazione. E' un documento con un analisi del comportamento delle due varianti principali del worm con dettagli sul codice e sulle differenze. Purtroppo non è il massimo vedere che come Italia siamo nella top-ten dei paesi afflitti dal worm..&lt;br /&gt;&lt;br /&gt;E dopo aver letto dettagli su questa "disgrazia" (per gli utenti windows), linko anche questo progetto davvero spettacolare: &lt;a href="http://dvlabs.tippingpoint.com/blog/2009/02/12/python-interfacing-a-usb-missile-launcher" target="_blank"&gt;Python Interfacing a USB Missile Launcher&lt;/a&gt;.. è bello essere nerd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8078318480189658305?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8078318480189658305/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8078318480189658305' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8078318480189658305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8078318480189658305'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/02/unanalisi-di-conflicker.html' title='Un&apos;analisi di Conflicker'/><author><name>Shatsar</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-855782704353028950.post-703049570484166310</id><published>2009-02-15T12:06:00.005+01:00</published><updated>2009-02-15T12:38:45.417+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Bespin, Code in the Cloud</title><content type='html'>&lt;a href="http://labs.mozilla.com" target="_blank"&gt;Mozilla Labs&lt;/a&gt; sta lavorando su un progetto che mi interessa parecchio. &lt;br /&gt;Avevo già parlato precedentemente dell'&lt;a href="http://shatsar.blogspot.com/2008/10/lavanzata-del-cloud-computing.html"&gt;avanzata del Cloud Computing&lt;/a&gt;, un concetto che da qualche tempo sta attirando l'attenzione del mondo informatico. Ora si fa un passo in avanti, cominciando a lavorare su un IDE in versione Web: &lt;a href="http://labs.mozilla.com/projects/bespin/" target="_blank"&gt;Bespin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Il progetto è in pieno sviluppo (la versione attuale viene definita un prototipo per mostrare le caratteristiche che avrà il prodotto), ma promette bene. Allo stato attuale, su alcune richieste, mi stende temporaneamente firefox 3; &lt;br /&gt;il pc su cui lo sto provando è il mio portatile, che ha un anno di vita ed un processore Intel Core2 Duo @ 2.20GHz con 2GB di RAM, quindi ben lontano dal top della gamma. Eppure superiore agli attuali netbook. &lt;br /&gt;Quindi c'è sicuramente ancora molto da lavorare, infatti, per ora, rimane comunque preferibile mettere l'ambiente di lavoro sul netbook ed i repository su grossi pc con dischi in raid, ma chissà che in un futuro, magari proprio grazie a bespin, si potrà pensare di usare come IDE il browser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-703049570484166310?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/703049570484166310/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=703049570484166310' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/703049570484166310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/703049570484166310'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/02/bespin-code-in-cloud.html' title='Bespin, Code in the Cloud'/><author><name>Shatsar</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-855782704353028950.post-1191302310864946239</id><published>2009-02-13T10:35:00.006+01:00</published><updated>2010-06-15T17:01:53.342+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qemu'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>HOWTO: Installare windows XP su qemu</title><content type='html'>= Premessa&lt;br /&gt;Ho scaricato da emule un'immagine di windows xp da installare sul pc di un mio amico (con regolare licenza, per la cronaca..). Quindi in fase di installazione, il codice che ho inserito è quello sul classico adesivo che si trova nella parte inferiore dei portatili.&lt;br /&gt;Già che ho il cd di xp, ho pensato di virtualizzarmi un'installazione di windows xp con la licenza del mio portatile vecchio.&lt;br /&gt;&lt;br /&gt;= QEMU&lt;br /&gt;Ho scelto di usare &lt;a href="http://bellard.org/qemu" target="blank"&gt;qemu&lt;/a&gt;, che, tra gli emulatori che conosco, è sicuramente il più adatto per i desktop. Per esempio, per citare due opzioni che ho scartato, &lt;a href="http://www.xen.org" target="blank"&gt;XEN&lt;/a&gt; è usato per altri scopi (virtualizzazioni "a lungo termine" sui server) e &lt;a href="http://www.virtualbox.org/" target="blank"&gt;virtualbox&lt;/a&gt; non esiste a 64bit. Credo che qemu sia la soluzione adatta per emulazioni meno performanti e temporanee per testare alcune cose. Per cui si accende la macchina virtuale, si fa quello che si deve fare e la si spegne. &lt;br /&gt;La particolarità di qemu è che virtualizza una macchina standard, non quella su cui gira. Questo risolve un sacco di problemi, secondo me.. ma può essere limitante.&lt;br /&gt;&lt;br /&gt;= HOWTO&lt;br /&gt;installare qemu&lt;br /&gt;&gt; erakis:/home/shatsar# apt-get install qemu&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;preparare l'immagine (qcow2 è il formato più versatile, utile per avere immagini ridotte, ma si può lasciare il formato raw e se si vuole usare un po' seriamente di certo non basteranno 2600M):&lt;br /&gt;&lt;br /&gt;&gt; shatsar@erakis:~$ qemu-img create -f qcow2 /home/shatsar/xp.img 2600M&lt;br /&gt;&gt; Formatting '/home/shatsar/xp.img', fmt=qcow2, size=2662400 kB&lt;br /&gt;&gt; shatsar@erakis:~$ ls -alh xp.img &lt;br /&gt;&gt; -rw-r--r-- 1 shatsar shatsar 24K 2009-02-13 10:44 xp.img&lt;br /&gt;&lt;br /&gt;ora avviare l'installazione&lt;br /&gt;&lt;br /&gt;&gt; shatsar@erakis:~$ qemu -hda xp.img -boot d -cdrom /dev/cdrom -m 512 -localtime&lt;br /&gt;&lt;br /&gt;dopo qualche tempo che sta girando l'installazione:&lt;br /&gt;&gt; shatsar@erakis:~$ ls -alh xp.img &lt;br /&gt;&gt; -rw-r--r-- 1 shatsar shatsar 168M 2009-02-13 10:57 xp.img&lt;br /&gt;&lt;br /&gt;ed è destinato a crescere..Il resto è storia nota, una normalissima installazione windows (fatta in una finestra..)&lt;br /&gt;&lt;br /&gt;Una volta finita l'installazione, si può spegnere il tutto. Dalla volta successiva per lanciare windows si potrà fare direttamente:&lt;br /&gt;&lt;br /&gt;&gt; shatsar@erakis:~$ qemu -hda xp.img -boot c -m 512 -localtime &lt;br /&gt;&lt;br /&gt;Nel prossimo post riguardo qemu scriverò qualcosa di più sulla configurazione&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1191302310864946239?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1191302310864946239/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1191302310864946239' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1191302310864946239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1191302310864946239'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/02/howto-installare-windows-xp-su-qemu.html' title='HOWTO: Installare windows XP su qemu'/><author><name>Shatsar</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-855782704353028950.post-7075389872819421829</id><published>2009-01-27T15:36:00.003+01:00</published><updated>2009-01-27T15:43:59.073+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><title type='text'>Alcuni consigli per ottimizzare le pagine web</title><content type='html'>Oggi sono incappato in questa pagina: &lt;a target="_blank" href="http://developer.yahoo.com/performance/rules.html"&gt;Best Practices for Speeding Up Your Web Site&lt;/a&gt;. Ne avevo lette altre, ma questa mi pare particolarmente fatta bene..&lt;br /&gt;&lt;br /&gt;Credo sia interessante da leggere. Certo alcuni consigli sono ovvi, altri impraticabili nella maggioranza dei casi (averla una Content Delivery Network!!) ma alcuni sono un ottimo spunto: a partire dai consigli sul posizionamento degli import: css all'inizio e javascript alla fine.. per arrivare all'ottimizzazione delle immagini (più che altro per gli strumenti utilizzati).&lt;br /&gt;&lt;br /&gt;Da tener presente..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7075389872819421829?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7075389872819421829/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7075389872819421829' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7075389872819421829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7075389872819421829'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/01/alcuni-consigli-per-ottimizzare-le.html' title='Alcuni consigli per ottimizzare le pagine web'/><author><name>Shatsar</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-855782704353028950.post-6387237679916124474</id><published>2009-01-20T23:55:00.005+01:00</published><updated>2009-01-21T00:06:51.898+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><title type='text'>jQuery e brTip</title><content type='html'>In un progetto di un annetto fa avevo usato brTip per fare dei mouseover per visualizzare alcune informazioni. L'avevo già modificata per permettere di caricare via ajax il contenuto del tooltip, ma ogni tanto aveva un comportamento anomalo: sporadicamente mi spariva l'attributo "title" dell'elemento a cui avevo associato il brTip e da cui prende il testo da caricare nel tooltip stesso. Ebbene, era una cosa che non avevo mai debuggato seriamente, invece oggi mi sono intestardito, visto che volevo fare un po' di manutenzione ho dato un'occhiata, ed ecco il risultato:&lt;br /&gt;&lt;br /&gt;il problema è che nel momento in cui si associa all'evento mouseover&lt;br /&gt;svuota l'attributo title dell'elemento dell'albero dom a cui è associato.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;self&lt;br /&gt;               .mouseover(function()&lt;br /&gt;               {&lt;br /&gt;                   // Set content.&lt;br /&gt;                   opts.txt = self.attr('title');&lt;br /&gt;                  self.attr('title', '');&lt;br /&gt;                 &lt;br /&gt;                   // Create the box.&lt;br /&gt;                   _create();&lt;br /&gt;               })&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Probabilmente serve a non far comparire anche l'attributo title per esempio sulle immagini..&lt;br /&gt;Però in alcuni casi dovevo forzare la scomparsa degli eventuali popup presenti, questo comportava la non esecuzione dell'evento mouseout, che risistema il valore del title.. per ora ho aggiunto un flag per esplicitare di lasciare il title, in modo da essere compatibile con la release ufficiale.. però è una soluzione temporanea e non troppo elegante&lt;br /&gt;&lt;br /&gt;Comunque generale questa plugin non mi è piaciuta tanto, ma quando avevo cercato era tra le più flessibili per creare tooltip con jQuery..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6387237679916124474?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6387237679916124474/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6387237679916124474' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6387237679916124474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6387237679916124474'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/01/jquery-e-brtip.html' title='jQuery e brTip'/><author><name>Shatsar</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-855782704353028950.post-1519151985827936526</id><published>2009-01-16T00:27:00.004+01:00</published><updated>2009-01-16T00:44:05.745+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='cazzeggio'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Remote Capture?</title><content type='html'>Oggi ho riletto la pagina un progetto stupendo che mi aveva colpito parecchio già la prima volta che l'ho visto (più di un anno fa, appena mi avvicinavo al mondo del ds hacking): &lt;a target="_blank" href="http://natrium42.com/halo/flight2/"&gt;http://natrium42.com/halo/flight2/&lt;/a&gt;. Infatti oltre a questo progetto ha fatto cose interessanti anche sull'nds, per questo ero finito sul suo sito..&lt;br /&gt;&lt;br /&gt;Veramente impressionante. La cosa che più mi ha interessato, oltre ai vari sensori, è il remote capture. Ovviamente per un progetto del genere c'è la necessità di automatizzare in qualche modo la macchina fotografica.&lt;br /&gt;Visto che ho da diversi anni una kodak cx7525, ho deciso di dare un'occhiata a come funziona:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;alrami:~# apt-get install gphoto2&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;attacco la macchina fotografica e comincio:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;alrami:~# gphoto2 --list-ports&lt;br /&gt;Dispositivi trovati: 7&lt;br /&gt;Percorso                                              Descrizione&lt;br /&gt;----------------------------------------------------&lt;br /&gt;disk:/                                                  Media 'Volume (ext3)'          &lt;br /&gt;ptpip:                                                  PTP/IP Connection              &lt;br /&gt;serial:/dev/ttyS0                            Porta seriale 0                &lt;br /&gt;serial:/dev/ttyS1                            Porta seriale 1                &lt;br /&gt;serial:/dev/ttyS2               Porta seriale 2                &lt;br /&gt;serial:/dev/ttyS3                           Porta seriale 3                &lt;br /&gt;usb:                                                      Universal Serial Bus&lt;br /&gt;alrami:~# gphoto2 --auto-detect&lt;br /&gt;Modello                                                Porta                                          &lt;br /&gt;-----------------------------------------&lt;br /&gt;Kodak CX7525                                      usb: &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;E fin qui tutto bene. Ora il momento cruciale (solo la parte di output che mi interessa)&lt;br /&gt;&lt;code&gt;&lt;br /&gt;alrami:~# gphoto2 --summary&lt;br /&gt;Sommario della fotocamera:                                                    &lt;br /&gt;Modello: CX7525 Zoom Digital Camera&lt;br /&gt;[..]&lt;br /&gt;Capacità dispositivo:&lt;br /&gt;       Scaricamento file, Eliminazione file, Caricamento del file&lt;br /&gt;       No Image Capture, No Open Capture, No vendor specific capture&lt;br /&gt;[..]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;No Image Capture..che palle..&lt;br /&gt;&lt;br /&gt;Tra l'altro oggi mi si è definitivamente rotto il cellulare, a breve posto qualche foto visto che ci smanetterò un po'..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1519151985827936526?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1519151985827936526/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1519151985827936526' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1519151985827936526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1519151985827936526'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/01/remote-capture.html' title='Remote Capture?'/><author><name>Shatsar</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-855782704353028950.post-4575461982499764330</id><published>2009-01-14T15:48:00.004+01:00</published><updated>2009-01-14T16:09:46.055+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Un po' di retrocomputing..</title><content type='html'>Oggi lavoro da casa, in teoria per approfittare del fatto di non perdere ore sui mezzi per poter lavorare tranquillamente e trovare anche tempo da dedicare alla tesi.&lt;br /&gt;&lt;br /&gt;Ma come ogni buon proposito che si rispetti, ha dovuto trovare un compromesso. In questo caso con la mia voglia di sistemare un po' la mia rete. &lt;br /&gt;Sul barebone ho provveduto ad un aggiornamento del sistema (che comunque tengo abbastanza aggiornato, per cui poca roba, dopotutto) e ho sistemato un po' meglio l'utilizzo delle partizioni. Infatti all'inizio avevo fatto parecchie partizioni pensando di usarlo anche come server di test, per cui oltre al sistema per fare media center avevo messo un'altra installazione linux pensata più per fare da server.. quindi scarna ed ottimizzata. Ed era prevista anche una partizione per windows media center, che ho prontamente abbandonato. &lt;br /&gt;Quindi ho messo in /etc/fstab anche tutte le altre partizioni, in modo da poterle gestire più agevolmente in futuro.&lt;br /&gt;&lt;br /&gt;Poi sono passato ad altair, il pc su cui ho passato tanto di quel tempo che non credo riuscirò mai a liberarmente. Un pentium II @450 a cui ho portato la ram nel corso degli anni fino agli attuali 192 MB. Ne ha viste davvero di ogni.&lt;br /&gt;Ultimamente l'ho un po' trascurato.. ma oggi ho deciso di accenderlo, l'obiettivo è fare un dist-upgrade, salvo dei file che non vorrei perdere sul barebone e poco altro. Pare che io gli sia mancato, al punto che all'avvio mi ha dato il messaggio "CMOS checksum error", probabilmente si è scaricata la batteria della scheda madre.. è bastato reimpostare il bios, in modo da riscrivere la parte di memoria corrotta che faceva fallire il checksum.&lt;br /&gt;D'altra parte restare spenti per 388 giorni a quell'età non può non lasciare segni..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4575461982499764330?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4575461982499764330/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4575461982499764330' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4575461982499764330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4575461982499764330'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/01/un-po-di-retrocomputing.html' title='Un po&apos; di retrocomputing..'/><author><name>Shatsar</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-855782704353028950.post-900325619180567596</id><published>2009-01-14T00:14:00.002+01:00</published><updated>2009-01-14T00:33:06.204+01:00</updated><title type='text'>Jokosher</title><content type='html'>&lt;a href="http://www.jokosher.org/" target="_blank"&gt;Jokosher&lt;/a&gt; è un editor audio multitraccia il cui motto è:&lt;br /&gt;&gt; Audio production made simple.&lt;br /&gt;E hanno ragione: è uno strumento davvero intuitivo ed user friendly, con alcune caratteristiche in meno rispetto al più noto &lt;a href="http://audacity.sourceforge.net/" target="_blank"&gt;audacity&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Non ho ancora deciso su quale puntare e specializzarmi per le mie eventuali produzioni musicali domestiche, ma per ora ho notato una piccola stranezza:&lt;br /&gt;Nella versione disponibile nei repository debian lenny (testing) non ho trovato nessun accenno al numero di release. Di solito questa informazione si trova nell'about, invece non c'è nulla del genere. Allora mi sono intestardito e ho provato nella maniera classica :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~$ jokosher --version&lt;br /&gt;0.2-SVN&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Sul sito ufficiale hanno appena pubblicato la 0.10.. per cui eseguo un altro controllo:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;shatsar@erakis:~$ dpkg --list | grep jokosher&lt;br /&gt;ii  jokosher                             0.9-1                      simple and easy to use audio multi-tracker&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ecco, questo è più ragionevole.. comunque in attesa delle 0.10, per ora sto usando entrambi i software, ma credo che userò jokosher per vari test e registrazioni intermedie, mentre audacity per il lavoro definitivo. Almeno questo basandomi sulle mie prime esperienze in campo audio (vabbè, rippare i cd in mp3 non credo che conti..)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-900325619180567596?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/900325619180567596/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=900325619180567596' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/900325619180567596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/900325619180567596'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/01/jokosher.html' title='Jokosher'/><author><name>Shatsar</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-855782704353028950.post-1427784788184887516</id><published>2009-01-09T18:58:00.005+01:00</published><updated>2009-01-09T19:25:13.360+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rfid'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Debian, udev e Phidgets</title><content type='html'>Saltando i soliti post di augurio di buon anno e di bei propositi, passo ad una questione che mi ha fatto perdere un po' di tempo: il mio &lt;a target="_blank" href="http://www.phidgets.com/products.php?product_id=2002"&gt;Phidget RFID&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Prima di tutto è arrivato in tempo di record: ordinato &lt;a target="_blank" href="http://www.phidgets.com"&gt;dal sito ufficiale&lt;/a&gt;, in Canada, un giovedì pomeriggio di dicembre, è arrivato il lunedì successivo. E difatti la sera stessa ho iniziato a giocarci, come testimonia &lt;a href="http://shatsar.blogspot.com/2008/12/benvenuta-mia-giovane-periferica.html"&gt;questo post&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ho fatto un test completo della periferica e del software, tutto è andato splendidamente tranne una cosa: l'integrazione con &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Udev"&gt;udev&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Viene fornito uno file da mettere tra le regole di udev per far riconoscere al sistema la periferica in modo che vengano impostati i permessi giusti. In caso contrario la periferica potrà essere usata solo da root. &lt;br /&gt;&lt;br /&gt;Quindi l'operazione da fare è copiare il file ( 51-phidgets.rules ) dentro /etc/udev/rules.d .&lt;br /&gt;Data la premessa che udev segue le regole in ordine alfabetico, il motivo per cui questo non basta è che la regola che setta i permessi è stata rinominata (non so bene se è una caratteristica di debian o un'evoluzione di udev) da 20-permissions.rules a 91-permissions.rules . &lt;br /&gt;Questo comporta che il file fornito con i Phidget imposta sì i permessi a 666, che vengono giustamente sovrascritti in 644 dalla regola 91-permissions. &lt;br /&gt;Per risolverlo quindi ci sono diversi modi. &lt;br /&gt;Quello più brutale è rinominare il file da 51-phidgets a phidgets, per esempio. Essendo in ordine alfabetico, questo verrà eseguito dopo 91-permissions.&lt;br /&gt;Un metodo sicuramente più serio e pulito consiste nel cambiare il file impostando al posto di &lt;br /&gt;&lt;code&gt;&lt;br /&gt;ATTRS{idVendor}=="06c2", ATTRS{idProduct}=="0031", MODE="666"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;una cosa del genere:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ATTRS{idVendor}=="06c2", ATTRS{idProduct}=="0031", GROUP="developers"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;per ogni riga nel 51-phidgets.rules ed aggiungere il proprio utente al gruppo developers.&lt;br /&gt;Ora tutti gli esempi e le applicazioni che utilizzano il Phidget RFID potranno essere eseguiti da utente normale.. "Che è meglio!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1427784788184887516?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1427784788184887516/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1427784788184887516' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1427784788184887516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1427784788184887516'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2009/01/debian-udev-e-phidgets.html' title='Debian, udev e Phidgets'/><author><name>Shatsar</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-855782704353028950.post-3840911558314400014</id><published>2008-12-20T17:09:00.003+01:00</published><updated>2008-12-20T19:02:49.184+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>TestDisk, tanto di cappello!</title><content type='html'>Ultimamente mi è capitato, per conto di un mio amico, di dover recuperare delle foto erroneamente cancellate da schede SD.&lt;br /&gt;&lt;br /&gt;Una brevissima ricerca mi ha portato a questo software: &lt;a href="http://www.cgsecurity.org/wiki/PhotoRec"&gt;http://www.cgsecurity.org/wiki/PhotoRec&lt;/a&gt;.&lt;br /&gt;Sotto debian è già disponibile sotto il nome di TestDisk, che è un altro strumento meno specifico per recuperare file cancellati da pendrive e memorie.&lt;br /&gt;Quindi &lt;br /&gt;&lt;br /&gt;&gt; apt-get install testdisk&lt;br /&gt;&lt;br /&gt;messa dentro la sd, ,lanciare photorec con il device come parametro&lt;br /&gt;&lt;br /&gt;&gt;  photorec /dev/mmcblk0p1&lt;br /&gt;&lt;br /&gt;seguire la semplice interfaccia testuale per lanciare in pochi passi il recupero delle foto e dei filmati erroneamente cancellati.&lt;br /&gt;&lt;br /&gt;Come piace a me: scarno, efficace ed efficiente.. tanto di cappello&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-3840911558314400014?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/3840911558314400014/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=3840911558314400014' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3840911558314400014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3840911558314400014'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/12/testdisk-tanto-di-cappello.html' title='TestDisk, tanto di cappello!'/><author><name>Shatsar</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-855782704353028950.post-4618724077232166147</id><published>2008-12-16T00:32:00.001+01:00</published><updated>2008-12-16T00:34:09.753+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rfid'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Benvenuta, mia giovane periferica..</title><content type='html'>&lt;code&gt;&lt;br /&gt;shatsar@erakis:~$ dmesg | tail -8&lt;br /&gt;[  711.819213] usb 5-1: new low speed USB device using uhci_hcd and address 2&lt;br /&gt;[  711.999851] usb 5-1: configuration #1 chosen from 1 choice&lt;br /&gt;[  712.030131] hiddev96hidraw1: USB HID v1.10 Device [Phidgets Inc. PhidgetRFID] on usb-0000:00:1d.0-1&lt;br /&gt;[  712.030329] usb 5-1: New USB device found, idVendor=06c2, idProduct=0031&lt;br /&gt;[  712.030335] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3&lt;br /&gt;[  712.030341] usb 5-1: Product: PhidgetRFID&lt;br /&gt;[  712.030345] usb 5-1: Manufacturer: Phidgets Inc.&lt;br /&gt;[  712.030349] usb 5-1: SerialNumber: 77895&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4618724077232166147?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4618724077232166147/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4618724077232166147' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4618724077232166147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4618724077232166147'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/12/benvenuta-mia-giovane-periferica.html' title='Benvenuta, mia giovane periferica..'/><author><name>Shatsar</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-855782704353028950.post-5039832724075916645</id><published>2008-12-11T09:48:00.003+01:00</published><updated>2008-12-11T10:15:21.286+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Browser Security Handbook by Google</title><content type='html'>Rompo il silenzio con un post rapidissimo per un link su cui sono finito stamattina passando in rassegna i feed:&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://code.google.com/p/browsersec/wiki/Main"&gt;Browser Security Handbook&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In queste pagine è stata raccolta nel tempo buona parte della conoscenza di google riguardante la sicurezza di alcuni browser (IE 6 e 7, FF 2 e 3, Safari, Opera e ovviamente Chrome ed Android) ed il comportamento di ognuno di fronte a certe situazioni. Queste differenze, dovute all'implementazione effettiva, rendono quindi lo stesso link o la stessa pagina potenzialmente pericolosi per un browser specifico.&lt;br /&gt;&lt;br /&gt;Sicuramente un lavoro interessante che merita più attenzione di quella che gli ho dedicato finora.. soprattutto per i test case da scaricare, studiare e testare!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5039832724075916645?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5039832724075916645/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5039832724075916645' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5039832724075916645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5039832724075916645'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/12/browser-security-handbook-by-google.html' title='Browser Security Handbook by Google'/><author><name>Shatsar</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-855782704353028950.post-7764544222461789611</id><published>2008-11-17T00:41:00.000+01:00</published><updated>2008-11-17T00:41:43.721+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>jQuery plugin uiTableFilter e piccola modifica</title><content type='html'>Poco fa stavo usando questa ottima plugin di &lt;a href="http://www.jquery.com" target="_blank"&gt;jquery&lt;/a&gt;: &lt;a href="http://plugins.jquery.com/project/uiTableFilter" target="_blank"&gt;uiTableFilter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Dandogli in pasto una tabella, ed eventualmente il testo dell'header (&lt;th&gt;) relativo alla colonna scelta, esegue una ricerca semplicissima tra le righe, nascondendo quelle che non contengono il testo voluto, eseguendo quindi in maniera rapida un filtro.&lt;br /&gt;&lt;br /&gt;L'ho trovata molto semplice e dal codice leggibilissimo, per questi motivi ho scelto di utilizzarla.&lt;br /&gt;Però la tabella su cui l'ho applicata è abbastanza complessa, per cui ho messo due input testuali, per filtrare su due colonne differenti. Il problema che si è subito evidenziato è che (giustamente) il filtro su una colonna non considera il filtro sull'altra. Il motivo è semplice: se una riga ha il match con la ricerca che ho effettuato, chiama la funzione &lt;code&gt;show()&lt;/code&gt; di jquery, mentre se non contiene il testo cercato chiama una &lt;code&gt;hide()&lt;/code&gt;, non avendo quindi modo di capire se la riga era nascosta per un testo cercato precedente oppure per il filtro sull'altra colonna. Ecco quindi come ho risolto:&lt;br /&gt;&lt;br /&gt;Ecco il diff con la versione ufficiale&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;21c21&lt;br /&gt;&lt; jQuery.uiTableFilter = function(jq, phrase, column, ifHidden){&lt;br /&gt;---&lt;br /&gt;&gt; jQuery.uiTableFilter = function(jq, phrase, column, dontUnhide, ifHidden){&lt;br /&gt;28c28&lt;br /&gt;&lt;   var success = function(elem) { elem.show() }&lt;br /&gt;---&lt;br /&gt;&gt;   var success = function(elem) { if(!dontUnhide) elem.show() }&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Ho cambiato la signature del metodo aggiungendo un parametro "dontUnhide" che permette di specificare, in pratica se il campo su cui si sta filtrando è primario o meno. Quindi di default (non passando il parametro o dando valore false) si comporta normalmente, quindi è un campo primario. Passando invece il flag impostato a true, si comporta in modo da considerare il campo secondario, non chiamando mai lo show(), ma nasconde comunque le righe che hanno passato il filtro primario ma non passano quello corrente.. il risultato è l'effetto "AND" che mi serviva.. e l'utilizzo che ne faccio è il seguente:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$(document).ready(function() { &lt;br /&gt;  var theTable = $('table#filtered');&lt;br /&gt;  &lt;br /&gt;  function realFilter() {&lt;br /&gt;    $.uiTableFilter( theTable, $("#filter").val() , 'Site Name');&lt;br /&gt;    $.uiTableFilter( theTable, $("#filterCity").val() , 'City', true);&lt;br /&gt; }&lt;br /&gt;  $("#filter").keyup(function() {&lt;br /&gt;    realFilter();&lt;br /&gt;  })&lt;br /&gt;&lt;br /&gt;  $("#filterCity").keyup(function() {&lt;br /&gt;    realFilter();&lt;br /&gt;  })&lt;br /&gt;}); &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Al caricamento della pagina associo le funzioni alle due caselle di testo, uno per filtrare su Site Name e l'altra su City. Ma in realtà al keyup su qualunque delle due, la funzione è la stessa, che filtra prima sul Site Name, poi sulla City (flag dontUnhide = true).&lt;br /&gt;&lt;br /&gt;L'unica cosa che non mi piace tanto è il giro su dontUnhide.. che è macchinoso pensare quando il flag per non "non nascondere" vada impostato a false.. mi sarebbe piaciuto usare un flag tipo "primary", ma in javascript preferisco sempre avere flag booleani il cui valore false causi il comportamento "normale", in modo che siano non obbligatori.&lt;br /&gt;&lt;br /&gt;Ho appena scritto al creatore della plugin.. chissà che non possa tornare utile a lui o ad altri..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7764544222461789611?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7764544222461789611/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7764544222461789611' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7764544222461789611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7764544222461789611'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/11/jquery-plugin-uitablefilter-e-piccola.html' title='jQuery plugin uiTableFilter e piccola modifica'/><author><name>Shatsar</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-855782704353028950.post-42088511707493612</id><published>2008-11-15T19:28:00.009+01:00</published><updated>2008-11-15T21:03:31.378+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><title type='text'>Il nuovo modello di campagna elettorale made in USA</title><content type='html'>Non è mia intenzione parlare dell'aspetto politico delle elezioni del nuovo presidente degli USA, ma  puntare l'attenzione su un dettaglio che per me ha una grande importanza e sicuramente è un punto di svolta: l'utilizzo di internet durante la campagna elettorale.&lt;br /&gt;&lt;br /&gt;Di questo aspetto hanno già parlato in molti: l'utilizzo massiccio di strumenti quali &lt;a href="http://www.linkedin.com" target="_blank"&gt;linkedin&lt;/a&gt;, &lt;a href="http://www.myspace.com" target="_blank"&gt;myspace&lt;/a&gt;, &lt;a href="http://www.twitter.com" target="_blank"&gt;twitter&lt;/a&gt;, &lt;a href="http://www.facebook.com" target="_blank"&gt;facebook&lt;/a&gt; ed altri canali di comunicazione su internet è un evento senza precedenti. Da notare che questi strumenti sono stati usati da una parte e dall'altra. Per esempio su linkedin (l'unico network sociale a cui sono iscritto e quindi quello che conosco meglio) ci sono tutti i "protagonisti" da &lt;a href="http://www.linkedin.com/in/barackobama" target="_blank"&gt;Obama&lt;/a&gt; (attualmente 16° su &lt;a href="http://www.toplinked.com/top50.html" target="_blank"&gt;toplinked&lt;/a&gt; ) a &lt;a href="http://www.linkedin.com/in/johnmccain2008" target="_blank"&gt;McCain&lt;/a&gt;, &lt;a href="http://www.linkedin.com/in/sarahpalin" target="_blank"&gt;Sarah Palin&lt;/a&gt; a &lt;a href="http://www.linkedin.com/in/hillaryclinton" target="_blank"&gt;Hillary Clinton&lt;/a&gt; (Joe Biden non mi pare ci sia..).&lt;br /&gt;E già questo è un punto su cui si potrebbe discutere. Infatti l'utilizzo di questi strumenti ha reso possibile un diverso approccio alla vita politica ed alla vita &lt;span style="font-style:italic;"&gt;di un politico&lt;/span&gt;. &lt;br /&gt;Personalmente ho l'impressione che i nostri politici non riescano minimamente a rendere la gente partecipe delle decisioni, che vengono viste come un'imposizione dall'alto. &lt;br /&gt;Ed è proprio su questa mancanza di comunicazione che ha trovato terreno fertile un movimento come quello dei grillini. Che va ben oltre, certo, ma non si può nemmeno negare che uno dei fattori del suo successo sia il concetto di estraneità che prova il singolo cittadino verso la classe politica.&lt;br /&gt;&lt;br /&gt;Su questo si potrebbe andare avanti ancora molto, ma arrivo invece al motivo che mi ha spinto a scrivere queste riflessioni: Obama ha risposto alla grande, secondo me, ai dubbi di tutte le persone che si son chieste "ma dopo questa campagna in stile web 2.0, con il coinvolgimento in prima linea di elettori e simpatizzanti, cosa succederà?" la risposta è stata chiara: &lt;a href="http://change.gov/" target="_blank"&gt;change.gov&lt;/a&gt;. In attesa dell'insediamento del nuovo presidente, che avverrà il prossimo 20 gennaio, quello sarà il canale ufficiale per seguire l'avvicinamento alla Casa Bianca di Barack Obama: da lì avremo notizie, video (proprio oggi ne hanno pubblicato uno), news e potremo anche interagire.. il fatto che questo sia avvenuto nel States, fa ben sperare che presto anche altri paesi si adegueranno, cercando di riavvicinare la gente al mondo politico attraverso gli strumenti che mette a disposizione internet e forse riusciranno anche ad attenuare un po' la sensazione di estraneità verso lo Stato.&lt;br /&gt;&lt;br /&gt;PS: Basta che non sia un'altra puttanata in stile Italia.it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-42088511707493612?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/42088511707493612/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=42088511707493612' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/42088511707493612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/42088511707493612'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/11/il-nuovo-modello-di-campagna-elettorale.html' title='Il nuovo modello di campagna elettorale made in USA'/><author><name>Shatsar</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-855782704353028950.post-3650016162003909225</id><published>2008-11-11T19:07:00.003+01:00</published><updated>2008-11-11T19:59:57.332+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><title type='text'>JQuery + thickbox con url dinamici</title><content type='html'>Ormai da tempo mi affido a &lt;a href="http://www.jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt; per rendere più dinamica l'interfaccia grafica e non preoccuparmi della portabilità, dopo aver perso il sonno causa browser assolutamente non standard (che non nominerò, ma già sapete..).&lt;br /&gt;Oggi mi trovo a dover sostituire, in un sito abbastanza recente, un parte fatta a popup con una più elegante e moderna versione ajax con tanto di &lt;a href="http://jquery.com/demo/thickbox/" target="_blank"&gt;thickbox&lt;/a&gt;, plugin che ho usato già per altri lavori.&lt;br /&gt;&lt;br /&gt;Il problema è il seguente: allo stato attuale,  all'href del link è associato una funzione javascript (selectSite()) che carica parametri in base a selezioni fatte dall'utente in diverse parti della pagina, crea un url con questi parametri e apre un "simpatico" popup con la pagina generata dinamicamente.&lt;br /&gt;&lt;br /&gt;Ora, se attivo thickbox direttamente su questo link, esso cambierà l'href associato.&lt;br /&gt;Il risultato è che se poi si cambiano i parametri nel resto del form, un click sul link genererà comunque la richiesta con i vecchi parametri. All'inizio ho pensato a come associare una callback alla chiusura della finestra thickbox per rimettere di nuovo la funzione "selectSite()" all'href del link in questione. Ma mi sembrava un po' macchinosa, soprattutto contando che esistono altri link del genere, con funzioni simili ("selectService()", "selectSupplier()".. etc).&lt;br /&gt;&lt;br /&gt;Allora ho pensato di indirizzare il mio refactor in una direzione differente: lasciare intatto il link, ma usarne uno di appoggio fatto apposta per aprire il thickbox e niente più.&lt;br /&gt;Quindi ho creato un link vuoto ed invisibile (&lt;a id="#HiddenLink" style="display:none"&gt;&lt;/a&gt;) ed una funzione a cui si appoggiano selectSite e le sue sorelle:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function loadAjaxContent(url) {&lt;br /&gt;var urlPar = url + "&amp;amp;height=500&amp;amp;width=800";&lt;br /&gt;var nodeId = '#HiddenLink';&lt;br /&gt;if(!$(nodeId).hasClass( "thickbox" )) {&lt;br /&gt;  $(nodeId).addClass("thickbox");&lt;br /&gt;  tb_init('a.thickbox');&lt;br /&gt;}&lt;br /&gt;$(nodeId).attr("href", urlPar);&lt;br /&gt;$(nodeId).click();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Vediamo cosa fa nel dettaglio:&lt;br /&gt;&lt;br /&gt;* prepara l'href a partire dall'url (che prima veniva richiamato come popup)&lt;br /&gt;* cerca il link nascosto; se è la prima richiesta aggiungo la classe "thickbox" al link nascosto ed inizializzo thickbox, questo perchè la pagina stessa viene chiamata attraverso ajax e messa dentro un div con innerHTML, quindi l'unico modo per inizializzare thickbox è lanciare l'init dopo il caricamento del contenuto (una callback sull'avvenuto inserimento) oppure on-demand.&lt;br /&gt;* aggiorno l'href del link nascosto e lancio un click su questo.&lt;br /&gt;&lt;br /&gt;In questo modo l'href viene aggiornato costantemente, i link non vengono toccati ed il mio refactor va a sostituire i window.open(url) con loadAjaxThickbox(url).. non male, direi..&lt;br /&gt;Ora miglioro alcune cose:&lt;br /&gt;* potrei creare direttamente il link con id HiddenLink in questa funzione&lt;br /&gt;* lancio tb_init('a#HiddenLink') per non appesantire nel caso ci siano diversi thickbox nella pagina&lt;br /&gt;* aggiungo altri parametri per rendere più flessibile la gestione della finestra (altezza, larghezza, modal..)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-3650016162003909225?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/3650016162003909225/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=3650016162003909225' title='8 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3650016162003909225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3650016162003909225'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/11/jquery-thickbox-con-url-dinamici.html' title='JQuery + thickbox con url dinamici'/><author><name>Shatsar</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-855782704353028950.post-3087434407182622277</id><published>2008-11-10T20:44:00.003+01:00</published><updated>2008-11-10T21:04:17.260+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Ma che bello tvtime</title><content type='html'>Stasera ho pensato di dare un'occhiata alla scheda tv che ho su un pc fisso che non uso molto.  Ecco come è andata:&lt;br /&gt;intanto da lspci ho scoperto che la scheda è una:&lt;br /&gt;&lt;br /&gt;02:00.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)&lt;br /&gt;&lt;br /&gt;Il driver del kernel è semplicemente saa7134, quindi&lt;br /&gt;&gt; modprobe saa7134&lt;br /&gt;&lt;br /&gt;Per quanto riguarda l'applicazione, pensavo ci sarebbero stati problemi, visto che il pc non è recentissimo e tanto meno lo è il sistema operativo..&lt;br /&gt;&lt;br /&gt;=Primo tentativo: zapping&lt;br /&gt;Tendo ad installare applicazioni specifiche per gnome, ma questa volta mi è andata male. La versione è la 0.9.6, mi dà problemi da subito e mi pare l'interfaccia un po' scarna. Non riesco a prendere un canale neanche per errore, mi si pianta ogni volta che cerco di aprire le impostazioni, quindi ringrazio, saluto e disinstallo.&lt;br /&gt;&lt;br /&gt;=Secondo tentativo: tvtime&lt;br /&gt;Lo installo, lo avvio, mi chiede un minimo di configurazione e  attraverso un semplice menù intuitivo lancio la scansione delle frequenze. In meno di un minuto ho tutto configurato e funzionante.. davvero complimenti! Semplice ed efficace.&lt;br /&gt;&lt;a href="http://tvtime.sourceforge.net/"&gt;http://tvtime.sourceforge.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-3087434407182622277?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/3087434407182622277/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=3087434407182622277' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3087434407182622277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3087434407182622277'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/11/ma-che-bello-tvtime.html' title='Ma che bello tvtime'/><author><name>Shatsar</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-855782704353028950.post-8853181434770492784</id><published>2008-10-29T00:53:00.004+01:00</published><updated>2008-10-29T01:08:20.663+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><title type='text'>Delirio di fine giornata: upgrade di joomla</title><content type='html'>Dopo aver aggiornato un'installazione di &lt;a href="http://www.joomla.org"&gt;Joomla&lt;/a&gt; dalla versione 1.0.12 (datata dicembre 2006) alla versione stabile corrente del branch 1.0 (1.0.15) mi chiedo: com'è possibile che un progetto open di questo tipo (parlo soprattutto delle dimensioni del progetto) abbia una qualità di codice decisamente alta (per quanto sia possibile in PHP, ma questa è un'altra storia) e non dia alcun tipo di problema durante l'upgrade?&lt;br /&gt;Quanto sono bravi quelli di Joomla?&lt;br /&gt;Non per niente è un progetto pluripremiato il cui upgrade consiste nello scompattare un archivio sostituendo i file sul server.&lt;br /&gt;&lt;br /&gt;Nel caso vi sembrasse strano il mio stupore per questa semplice ma efficace procedura, probabilmente non avete mai provato ad aggiornare &lt;a href="http://www.sugarcrm.com/crm/"&gt;SugarCRM&lt;/a&gt;, oppure vi è andato di culo l'upgrade.. cosa che a me non è _mai e poi mai_ capitata&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8853181434770492784?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8853181434770492784/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8853181434770492784' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8853181434770492784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8853181434770492784'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/10/delirio-di-fine-giornata-upgrade-di.html' title='Delirio di fine giornata: upgrade di joomla'/><author><name>Shatsar</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-855782704353028950.post-1483691998039367247</id><published>2008-10-28T15:04:00.003+01:00</published><updated>2008-10-28T15:53:21.106+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>L'avanzata del Cloud Computing</title><content type='html'>Dopo essermi perso dietro agli impegni universitari, che mi porteranno (probabilmente) a finire gli esami entro pochi giorni, ho pensato di scrivere qualche riga su una delle "keyword" del momento: &lt;a href="http://en.wikipedia.org/wiki/Cloud_computing"&gt;cloud computing&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Seguo ormai da qualche tempo la crescita costante di interesse del mondo informatico a riguardo; E proprio in questi giorni ha ricevuto una spinta notevole da parte di Microsoft, con la presentazione di una piattaforma di servizi per il cloud computing: &lt;a href="http://www.microsoft.com/azure/default.mspx"&gt;Azure&lt;/a&gt;. D'altra parte la stessa tecnologia era già stata &lt;a href="http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallman"&gt;criticata da Richard Stallman&lt;/a&gt;, ma andiamo con ordine.&lt;br /&gt;&lt;br /&gt;Il concetto principale del Cloud Computing (ma non è _solo_ questo) è il fatto di fornire software come servizio attraverso Internet (la classica nuvoletta nei diagrammi di rete, da cui il nome). Da qui le critiche di Stallman, che vede come un pericolo il fatto di accettare sempre di più che i nostri dati (ed anche quelli aziendali) risiedano fisicamente su server remoti, potenzialmente di proprietà e sotto il controllo di aziende esterne. Infatti pensiamo ad aziende che affidano la contabilità a fogli di calcolo su Google Apps. Rubare la password di un account internet è sicuramente più semplice che penetrare in una rete aziendale e rubare dati dal server centrale.&lt;br /&gt;&lt;br /&gt;Ma d'altra parte con l'avvento della categoria dei subnotebook o netbook, si fa sempre più concreta ed appetibile la possibilità di usare il browser in giro per il mondo lavorando su computer decisamente più potenti e più sicuri (se non altro dal punto di vista del backup, ridondanza e per il fatto di essere in un data center) attraverso internet. A questo punto il fatto di non avere i dati nel proprio pc può diventare un punto di forza.&lt;br /&gt;Come non si può definire punto di forza il fatto di essere in giro per lavoro con un portatile che pesa meno di un kg e che costa 300 euro, poter lavorare su documenti grossi, salvare foto etc.. e non dovermi preoccupare più di tanto se mi si rompe/me lo rubano?&lt;br /&gt;&lt;br /&gt;Quindi come al solito, credo che la tecnologia di per sè non sia pericolosa e che non sia neanche indispensabile, ma utile ed interessante. Quindi con un po' di buon senso, sapendo a cosa si va incontro, si può decidere in che modo usufruire di questa nuova tecnologia su cui un sacco di aziende di livello mondiale stanno investendo non poche risorse..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1483691998039367247?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1483691998039367247/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1483691998039367247' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1483691998039367247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1483691998039367247'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/10/lavanzata-del-cloud-computing.html' title='L&apos;avanzata del Cloud Computing'/><author><name>Shatsar</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-855782704353028950.post-8220410401954208002</id><published>2008-10-04T18:37:00.004+02:00</published><updated>2008-10-04T19:01:19.990+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><title type='text'>AtLeap: free open-source java cms</title><content type='html'>In questo periodo sono venuto a contatto con &lt;a href="https://atleap.dev.java.net/"&gt;atleap&lt;/a&gt;, uno dei pochi cms scritto in java. L'ho trovato decisamente interessante.&lt;br /&gt;&lt;br /&gt;Bene o male le potenzialità che mostra all'utente finale sono le solite dei cms. Eppure ha qualcosa in più: usa un sacco di tecnologie interessanti.&lt;br /&gt;La prima cosa che mi ha impressionato è il fatto che basta scaricarlo (uno zippone da più di 30MB), scompattarlo e lanciare  dalla root  il comando&lt;br /&gt;&lt;br /&gt;&gt; bin/start-demo.sh&lt;br /&gt;&lt;br /&gt;Facendo così lancia un'istanza di &lt;a target="_blank" href="http://www.mortbay.org/jetty/"&gt;jetty&lt;/a&gt;, crea il db su &lt;a target="_blank" href="http://hsqldb.org/"&gt;hsqldb&lt;/a&gt; e avvia l'applicazione web che si basa su &lt;a target="_blank" href="http://www.springframework.org/"&gt;Spring&lt;/a&gt;, &lt;a target="_blank" href="http://www.hibernate.org/"&gt;Hibernate&lt;/a&gt;, diversi progetti Commons ed altri che non sto qui ad elencare. E subito si può partire ad utilizzarlo.&lt;br /&gt;&lt;br /&gt;Questo per dire che mi è parso un progetto serio, fatto bene ed abbastanza documentato, cosa che non sempre avviene nei progetti open source.&lt;br /&gt;Quello che secondo me manca rispetto ai vari cms in PHP è l'usabilità. Per quanto siano progetti fatti davvero bene, sia questo che &lt;a href="http://www.opencms.org"&gt;opencms&lt;/a&gt; (che uso ormai da un po') hanno una complessità tale che all'inizio può davvero spaventare. Sono entrambi progetti seri, stabili e di una qualità davvero ottima, ma l'usabilità di &lt;a href="http://www.joomla.org"&gt;Joomla&lt;/a&gt; è ancora un miraggio..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8220410401954208002?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8220410401954208002/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8220410401954208002' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8220410401954208002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8220410401954208002'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/10/atleap-free-open-source-java-cms.html' title='AtLeap: free open-source java cms'/><author><name>Shatsar</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-855782704353028950.post-6163800822750365432</id><published>2008-09-28T16:22:00.005+02:00</published><updated>2008-09-28T17:03:37.902+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ffmpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='smartphone'/><title type='text'>FFmpeg per video su smartphone windows mobile 6</title><content type='html'>Oggi ho deciso di perdere qualche decina di minuti nel secondo round di uno scontro che avevo abbandonato tempo fa..&lt;br /&gt;&lt;br /&gt;Infatti ho deciso di riprendere in mano ffmpeg e fare un secondo tentativo per capire come adattare i video per il dannato smartphone windows-based (quanto mai, ne ho dovuto effettuare un terzo hard reset in circa un anno..).&lt;br /&gt;&lt;br /&gt;Comunque, dato che ormai lo sto pagando (visto che fa parte del contratto business) ogni tanto mi viene in mente di sfruttarlo il più possibile (vedi la voce su liferea hacking).&lt;br /&gt;&lt;br /&gt;Su debian bisogna aggiungere prima di tutto il repository debian-multimedia, per avere più facilmente codec aggiornati/proprietari e software compilati in modo ottimale per certe operazioni.&lt;br /&gt;Per la cronaca, installare ffmpeg da debian-multimedia manderà a puttane vlc.&lt;br /&gt;&lt;br /&gt;Detto questo, ecco il comando che sto attualmente usando per effettuare l'encoding di un video qualsiasi in modo da poterlo vedere/sentire sullo smartphone:&lt;br /&gt;&lt;br /&gt;&gt;  ffmpeg -i $input -s qvga -vcodec wmv2 -b 128k -r 24 -acodec wmav2 -ar 22050 -ab 64k $output.wmv&lt;br /&gt;&lt;br /&gt;Quindi:&lt;br /&gt;* dimensione: qvga, cioè 320*240&lt;br /&gt;* video: wmv2 (la mia versione non ha wmv3) a 128kbps con 24 frame al secondo&lt;br /&gt;* audio: wmav2 (si potrebbe provare mp3 o msmpeg4, ma la mia versione non li supporta, per cui per ora mi accontento) con audio sample rate 22050Hz e bitrate 64kbps)&lt;br /&gt;&lt;br /&gt;$input può essere qualsiasi tipo di filmato supportato (quindi .mov . avi..) mentre $output è meglio che sia un .wmv, così il vostro amato smartphone eviterà di rompere troppo..&lt;br /&gt;&lt;br /&gt;Per dare un'ordine di grandezza dell'output, ho fatto l'encoding di un .avi di 20 minuti da 160 MB:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&gt; Duration: 00:20:30.00, start: 0.000000, bitrate: 1090 kb/s&lt;br /&gt;&gt;  Stream #0.0: Video: mpeg4, yuv420p, 576x432 [PAR 1:1 DAR 4:3], 29.97 tb(r)&lt;br /&gt;&gt;  Stream #0.1: Audio: mp3, 44100 Hz, stereo, 128 kb/s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ed il risultato è stato un file da 31MB.&lt;br /&gt;Sicuramente c'è ancora margine di miglioramento, a partire dai codec audio, ma per ora è sufficiente così! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6163800822750365432?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6163800822750365432/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6163800822750365432' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6163800822750365432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6163800822750365432'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/09/ffmpeg-per-video-su-smartphone-windows.html' title='FFmpeg per video su smartphone windows mobile 6'/><author><name>Shatsar</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-855782704353028950.post-6725198165671949221</id><published>2008-09-02T12:24:00.004+02:00</published><updated>2008-09-02T12:39:37.908+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><title type='text'>Debian, apache2 e userdir</title><content type='html'>Un post rapidissimo per segnarmi una cosa che è sicuramente cambiata dall'ultima volta che ho configurato sotto debian apache httpd:&lt;br /&gt;&lt;br /&gt;su altre distribuzioni linux, mod_userdir (quello necessario per fare localhost/~user , per intenderci) è compilato nel binario e già pronto all'utilizzo; molto spesso basta decommentare la direttiva UserDir all'interno del file di configurazione. Altre volte bisogna creare il link simbolico da mods-available a mods-enabled.&lt;br /&gt;&lt;br /&gt;Invece oggi è stato ancora più semplice e decisamente più rapido:&lt;br /&gt;&lt;br /&gt;mod_userdir non è abilitato di default, infatti mettendo la direttiva UserDir in httpd.conf genera un chiaro errore:&lt;br /&gt;&lt;br /&gt;&gt; Invalid command 'UserDir', perhaps misspelled or defined by a module not included in the server configuration&lt;br /&gt;&lt;br /&gt;E dopo aver verificato che effettivamente non è tra i precompilati nel binario:&lt;br /&gt;&lt;br /&gt;&gt; erakis:/etc/apache2# apache2 -l&lt;br /&gt;&gt; Compiled in modules:&lt;br /&gt;&gt;  core.c&lt;br /&gt;&gt;   mod_log_config.c&lt;br /&gt;&gt;   mod_logio.c&lt;br /&gt;&gt;   prefork.c&lt;br /&gt;&gt;   http_core.c&lt;br /&gt;&gt;   mod_so.c&lt;br /&gt;&lt;br /&gt;è bastato abilitare il modulo:&lt;br /&gt;&gt; erakis:/etc/apache2# a2enmod userdir&lt;br /&gt;&gt; Enabling module userdir.&lt;br /&gt;&gt; Run '/etc/init.d/apache2 restart' to activate new configuration!&lt;br /&gt;&lt;br /&gt;e riavviare l'httpd.. Ora ha creato il link simbolico in mods-enabled con la direttiva per il caricamento (contenuta nel file userdir.load) e una configurazione standard (userdir.conf).&lt;br /&gt;&lt;br /&gt;Quanti passi in avanti sono stati fatti dai tempi dell'apache 1.3 con il file di configurazione monolitico gigantesco con decine di direttive LoadModule da commentare/decommentare e tutte le direttive specifiche dei vari moduli messe insieme..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6725198165671949221?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6725198165671949221/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6725198165671949221' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6725198165671949221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6725198165671949221'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/09/debian-apache2-e-userdir.html' title='Debian, apache2 e userdir'/><author><name>Shatsar</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-855782704353028950.post-85477192932738604</id><published>2008-08-26T10:32:00.003+02:00</published><updated>2008-08-26T10:48:36.080+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Back to work (and debian)</title><content type='html'>Post rapido rapido post vacanze:&lt;br /&gt;&lt;br /&gt;Rientrato dalle vacanze domenica sera, ho prontamente deciso di dedicare il lunedì alla migrazione di un paio di pc a debian.&lt;br /&gt;&lt;br /&gt;Infatti sul barebone, quasi due anni fa, non ero riuscito ad installare debian amd64, ai tempi troppo arretrata per supportare un pc problematico come quello (scheda madre nvidia). &lt;br /&gt;ci avevo bestemmiato sopra davvero un sacco e alla fine avevo messo una versione di ubuntu. Ogni tentativo di aggiornare il sistema alla release successiva di ubuntu terminava in un disastro di proporzioni inaudite, alimentando il mio odio per l'architettura a 64bit ed il suo supporto inadeguato. &lt;br /&gt;&lt;br /&gt;A gennaio compravo in fretta e furia il portatile nuovo, causa cedimento hardware (i sostegni dello schermo) del precedente. Dopo un paio di tentativi andati a vuoto di installare debian e ubuntu, non potendo permettermi il lusso di perdere troppo tempo ho messo su fedora 8 (parlo sempre di x86_64, eh).&lt;br /&gt;&lt;br /&gt;Fedora è stata una piacevole sopresa, dai tempi della Fedora Core 3, che avevo usato per un po', hanno migliorato tantissimo la gestione dei pacchetti e hanno alleggerito il sistema. Aggiungeteci anche la semplicità di configurazione ed installazione e capirete perchè stia crescendo l'interesse intorno a questo progetto, prima davvero inutilizzabile, secondo me.&lt;br /&gt;&lt;br /&gt;Però la voglia di tornare a debian è cresciuta dopo aver messo su un Pentium III in università una "lenny". Quindi approfittando del fatto che per un paio di giorni riesco a lavorare su un altro pc, ho raso al suolo entrambi mettendo la testing a 64bit. Incredibilmente è andato tutto a buon fine al primo colpo.. back to debian, quindi.. and back to work&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-85477192932738604?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/85477192932738604/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=85477192932738604' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/85477192932738604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/85477192932738604'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/08/back-to-work-and-debian.html' title='Back to work (and debian)'/><author><name>Shatsar</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-855782704353028950.post-5039970058646650244</id><published>2008-08-15T11:11:00.003+02:00</published><updated>2008-08-15T11:33:47.822+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sar'/><category scheme='http://www.blogger.com/atom/ns#' term='u4j2rsf'/><category scheme='http://www.blogger.com/atom/ns#' term='armin'/><title type='text'>Software Architecture Reconstruction</title><content type='html'>Software Architecture Reconstruction (SAR) è una procedura in cui si utilizzano diversi software per analizzare e capire le relazioni tra componenti, le interazioni tra essi e la loro implementazione all'interno di un progetto software.&lt;br /&gt;&lt;br /&gt;Questa procedura viene normalmente divisa in quattro diversi passaggi:&lt;br /&gt;* Source Information Extraction &lt;br /&gt;* Information Formatting&lt;br /&gt;* Architectural View Composition&lt;br /&gt;* Architectural Analysis &lt;br /&gt;&lt;br /&gt;In breve:&lt;br /&gt;&lt;br /&gt;Source Information Extraction&lt;br /&gt;-----------------------------&lt;br /&gt;&lt;br /&gt;In questo passaggio vengono estratte delle informazioni sui componenti e sulle interazioni tra essi a partire dal codice sorgente&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Information Formatting&lt;br /&gt;----------------------&lt;br /&gt;Questo passaggio è necessario quando l'output del passaggio precedente è incompatibile con l'input previsto dallo step successivo: si cambia il formato delle informazioni estratte.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Architectural View Composition &lt;br /&gt;-------------------------------&lt;br /&gt;Un tool grafico carica le informazioni estratte (ed eventualmente riformattate) e le rappresenta graficamente&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Architectural Analysis&lt;br /&gt;----------------------&lt;br /&gt;Si utilizzano le funzionalità del visualizzatore usato nello step precedente per navigare le correlazioni tra i componenti e capire l'implementazione del software&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Il primo passaggio può essere eseguito da Understand for Java[1], il terzo e quarto da Armin, sviluppato dal laboratorio SEI della Carnegie Mellon University[2] mentre il secondo step è coperto da u4j2rsf[3], necessario in quanto Understand for Java crea dei report testuali in un suo formato ed Armin prende in input formato RSF, creato dal Rigi parser, non disponibile per sorgenti Java&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[1] Understand For Java, Scitools Inc (or Scientific Toolworks Inc)  http://www.scitools.com/&lt;br /&gt;[2] Software Engineering Institute, Carnegie Mellon University (CMU), Pittsburgh, Pennsylvania, United States. http://www.sei.cmu.edu/&lt;br /&gt;[3] Understand for Java to Rigi Standard Format, http://sourceforge.net/projects/u4j2rsf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5039970058646650244?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5039970058646650244/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5039970058646650244' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5039970058646650244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5039970058646650244'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/08/software-architecture-reconstruction.html' title='Software Architecture Reconstruction'/><author><name>Shatsar</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-855782704353028950.post-6957087907059208836</id><published>2008-07-19T18:38:00.003+02:00</published><updated>2008-07-19T18:54:04.195+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Back to Fluxbox</title><content type='html'>In questi giorni ho voluto smanettare un po' sul mio portatile vecchio. Ho dovuto cambiarlo ad inizio anno perchè praticamente non si chiude più. Una staffa dello schermo si è staccata dalla scocca e va a far forza sulla plastica facendo dei rumori strani e spostando fuori asse lo schermo. &lt;br /&gt;&lt;br /&gt;Inoltre diventava sempre più lento. E' una cosa che non mi spiego, ma ha avuto un decadimento delle prestazioni davvero incredibile. &lt;br /&gt;Tempo di accensione fino alla schermata gdm: accettabile. Da lì in poi un disastro..&lt;br /&gt;&lt;br /&gt;E così ieri mi sono girate:&lt;br /&gt;&lt;br /&gt;&gt; apt-get remove --purge `dpkg --list | awk '{print $2}' | grep gnome`&lt;br /&gt;&lt;br /&gt;seguito a più riprese da:&lt;br /&gt;&lt;br /&gt;&gt; apt-get autoremove&lt;br /&gt;&gt; apt-get remove --purge `deborphan`&lt;br /&gt;&lt;br /&gt;poi ho installato fluxbox e xdm. Ed è stato un po' un ritorno alle origini, quando un sacco di anni fa ho iniziato a farmi le ossa con GNU/Linux su un Pentium II @450 con 96Mb di RAM, ovviamente con Fluxbox e xdm. &lt;br /&gt;&lt;br /&gt;Per la cronaca, quel pc è ancora vivo e vegeto, con ben 192MB di ram e XFCE.. e ha, giustamente per diritti d'anzianità, l'IP 192.168.1.2 :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6957087907059208836?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6957087907059208836/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6957087907059208836' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6957087907059208836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6957087907059208836'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/07/back-to-fluxbox.html' title='Back to Fluxbox'/><author><name>Shatsar</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-855782704353028950.post-5888571656118642027</id><published>2008-07-18T12:14:00.006+02:00</published><updated>2008-07-18T12:33:57.670+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><title type='text'>Java: Filter Servlet</title><content type='html'>Il bello di usare i Filter in java è che deleghi una serie di controlli che sarebbero da replicare nelle varie action struts (o pagine JSP, o altre servlet) al filtro. &lt;br /&gt;&lt;br /&gt;Questo può servire sia come controllo sulla sessione sia come controllo di sicurezza.&lt;br /&gt;&lt;br /&gt;Molto spesso mi son trovato a contatto con applicazioni (e sicuramente è un errore che ho fatto anch'io, eh) che non effettuano il controllo sul corretto stato della sessione in alcune aree dell'applicazione web. Per cui c'è la possiblità che alcuni punti di entrata non previsti (passando per esempio dalla cronologia del browser o da un bookmark) non effettuino i dovuti controllo.&lt;br /&gt;&lt;br /&gt;Per tagliare la testa al toro allora si può implementare un filtro del genere che funzioni con una whitelist interna (il metodo userNotNeeded(uri)) in cui ci sono tutti gli url (quindi le funzionalità, per intenderci) che possono essere richieste anche senza utente loggato in sessione.&lt;br /&gt;&lt;br /&gt;Quello che non passa il controllo viene rediretto alla pagina di errore&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;public class UserBeanFilter implements Filter {&lt;br /&gt;[..]&lt;br /&gt;  public void doFilter(ServletRequest req, ServletResponse response,&lt;br /&gt;    FilterChain chain) throws IOException, ServletException {&lt;br /&gt;    &lt;br /&gt;    HttpServletRequest request = (HttpServletRequest) req;&lt;br /&gt;    UserBean user = (UserBean)request.getSession().getAttribute(USER_BEAN);&lt;br /&gt;  &lt;br /&gt;    String uri = request.getRequestURI();&lt;br /&gt;&lt;br /&gt;    if ( (user != null) || userNotNeeded(uri)) {&lt;br /&gt;      logger.trace("Session ok for " + uri);&lt;br /&gt;      chain.doFilter(request, response);&lt;br /&gt;    } else {&lt;br /&gt;      RequestDispatcher rd = request.getRequestDispatcher(ERROR_PAGE);&lt;br /&gt;      logger.warn("Session required for " + uri);&lt;br /&gt;      rd.forward(request, response);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Niente di particolarmente sofisticato, ma può tornare utile..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5888571656118642027?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5888571656118642027/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5888571656118642027' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5888571656118642027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5888571656118642027'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/07/java-filter-servlet.html' title='Java: Filter Servlet'/><author><name>Shatsar</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-855782704353028950.post-2769895224181492018</id><published>2008-06-27T13:00:00.000+02:00</published><updated>2008-06-27T13:01:19.579+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mappe'/><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><title type='text'>La guerra delle mappe</title><content type='html'>Sono lontanissimi i tempi in cui non si riusciva a trovare una cartina decente su Internet. Infatti in questi ultimi anni un sacco di società hanno colto l'importanza di queste informazioni e si sono buttate a capofitto in questo nuovo servizio.&lt;br /&gt;&lt;br /&gt;Dai tempi in cui si usava le mappe con un'interfaccia old-school (ogni spostamento faceva ricaricare la pagina) si è passati ad una versione più interattiva, con i primi esempi in formato applet java (map24), che permetteva anche operazioni prima impensabili (calcolo della distanza, per esempio).&lt;br /&gt;&lt;br /&gt;E poi arriva Google con il suo GoogleMaps. Interfaccia a dir poco innovativa, con la possibilità di passare a visualizzazione delle foto satellitari/aeree. Ed i mashup, davvero un'ottima ciliegina sulla torta.. Poi compare anche il servizio di MS Live ed altri. Tra tutti questi prodotti si inserisce un progetto a dir poco interessante: &lt;a href="http://www.openstreetmap.org/"&gt;OpenStreetMap&lt;/a&gt; che cerca di raggiungere un obiettivo particolarmente ambizioso: creare delle mappe in modo _collaborativo_. Infatti, in quanti non hanno trovato mai un errore o un'imprecisione nelle mappe? &lt;br /&gt;&lt;br /&gt;Un'idea così semplice e banale (soprattutto dopo wikipedia) che ora ha attirato l'attenzione di google, che ha pubblicato un tool per editare le sue mappe.. (MapMaker) &lt;br /&gt;Strumento sicuramente importante per gli utenti di google maps, che potranno trovarsi i dati aggiornati continuamente, ma tra il coro di entusiasti, si leva alta la voce di OpenStreetMap: se dovete aiutare qualcuno ad aggiornare le mappe aiutate me:&lt;br /&gt;&lt;br /&gt;&gt; If you contribute to Google MapMaker, you are contributing &lt;br /&gt;&gt; to one single map view that looks how Google wants it to look. &lt;br /&gt;&gt;   If you contribute to OpenStreetMap, you are contributing to&lt;br /&gt;&gt; a myriad of possibilities … most not even thought of yet.&lt;br /&gt;&lt;br /&gt;E come dargli torto..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2769895224181492018?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2769895224181492018/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2769895224181492018' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2769895224181492018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2769895224181492018'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/la-guerra-delle-mappe.html' title='La guerra delle mappe'/><author><name>Shatsar</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-855782704353028950.post-1555848164721433417</id><published>2008-06-18T10:24:00.000+02:00</published><updated>2008-06-18T10:57:16.294+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='liferea'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>Esportare feed da liferea</title><content type='html'>Ecco quello che è uscito dopo un po' di lavoro su liferea ed il suo database sqlite..&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;FILENAME=feed-`date  +%m-%d`.html&lt;br /&gt;DATABASE=$HOME/.liferea_1.4/liferea.db&lt;br /&gt;&lt;br /&gt;echo -e '&amp;lt;html&amp;gt;\n' &amp;gt; $FILENAME&lt;br /&gt;echo -e '&amp;lt;body&amp;gt;\n\t&amp;lt;table&amp;gt;' &amp;gt;&amp;gt; $FILENAME&lt;br /&gt;&lt;br /&gt;sqlite3 -html $DATABASE  "select title, source, description from items where read = 0;"  | sed 's/^&amp;lt;TD&amp;gt;/&amp;lt;\/TR&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;/' | sed 's/\&amp;amp;lt;/&amp;lt;/g' | sed 's/&amp;amp;amp;amp;/\&amp;amp;/g' &amp;gt;&amp;gt; $FILENAME&lt;br /&gt;&lt;br /&gt;echo -e '\n\t&amp;lt;/table&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;' &amp;gt;&amp;gt; $FILENAME&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In questo modo si ha un file html feed-$mese-$giorno.html da spostare sullo smart phone, per leggere i feed allegramente in treno.&lt;br /&gt;&lt;br /&gt;il formato per ogni entry è:&lt;br /&gt;riga col titolo&lt;br /&gt;riga con l'url&lt;br /&gt;testo&lt;br /&gt;&lt;br /&gt;TODO:&lt;br /&gt;* sostituire i caratteri particolari (apici inversi) che si sputtanano&lt;br /&gt;* rimuovere tutti gli http:// interni (per le immagini soprattutto) per poterlo visualizzare offline&lt;br /&gt;* evidenziare meglio il titolo (spaziato da quello sopra e magari bold)&lt;br /&gt;* provare ad aggiungere un foglio di stile&lt;br /&gt;&lt;br /&gt;MIGLIORIE POSSIBILI&lt;br /&gt;* sqlite supporta altri formati di esportazione, provare se viene più leggibile lo script (tipo la riscrittura dei tag) con altri formati (anche se saltano fuori altri problemi.. tipo il csv che non sostiuisce le virgole interne..)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1555848164721433417?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1555848164721433417/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1555848164721433417' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1555848164721433417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1555848164721433417'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/esportare-feed-da-liferea.html' title='Esportare feed da liferea'/><author><name>Shatsar</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-855782704353028950.post-1007778098570380088</id><published>2008-06-15T16:32:00.004+02:00</published><updated>2008-06-15T17:05:03.233+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferea'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><category scheme='http://www.blogger.com/atom/ns#' term='nds'/><title type='text'>Idea per progetto su RSS</title><content type='html'>Un sacco di volte ho parlato della mia passione per i feed RSS. &lt;br /&gt;Sono così comodi quanto semplici concettualmente, visto che si tratta semplicemente di un xml fatto in un certo modo. Ormai da tempo uso &lt;a href="http://liferea.sourceforge.net"&gt;liferea&lt;/a&gt; sotto gnome. Ne ho provati altri, come ad esempio &lt;a href="http://www.rssowl.org"&gt;RSSOwl,&lt;/a&gt;che ha sicuramente molte più funzionalità.&lt;br /&gt;&lt;br /&gt;Forse per il motivo principale per cui non sono passato a quest'ultimo è il fatto che sfrutta fin troppo la piattaforma Eclipse e visto già quanto tempo passo usando Eclipse per lavoro la cosa non mi ha convinto troppo.. e poi mi piace che liferea è semplice, senza puttanate, chiaro ed integrato bene in gnome.&lt;br /&gt;&lt;br /&gt;Ora, visto il periodo particolarmente delirante da qui a fine mese, ho pensato di ottimizzare i tempi e leggere gran parte dei feed la mattina in treno. &lt;br /&gt;&lt;br /&gt;La prima soluzione è accendere il portatile prima di uscire di casa, fargli scaricare tutte le novità, poi spegnerlo e riaccenderlo in treno. Il problema è che la tratta che faccio io non è molto lunga e che è sempre abbastanza affollato (non voglio fare come le persone che corrono sul treno facendosi largo a spintoni e lo attraversano in lungo e largo disperati alla ricerca di un posto.. ).&lt;br /&gt;&lt;br /&gt;Allora ho pensato di cercare un RSS reader per il nintendo ds. Non ho avuto molto successo, quello  integrato in &lt;a href="http://bronto-online.de/ndsmail.htm" target="_blank"&gt;ndsmail&lt;/a&gt; non mi pare un granchè, mentre &lt;a href="http://www.dragonminded.com/dsorganize/wiki/index.php?title=Features" target="_blank"&gt;DSOrganize&lt;/a&gt; non l'ha ancora integrato.&lt;br /&gt;&lt;br /&gt;Ho anche un &lt;a href="http://euro.palm.com/it/it/products/smartphones/treo500v/" target="_blank"&gt;palm treo 500v&lt;/a&gt;, ma non sono mai riuscito ad installarci un cazzo (che fosse java oppure no).. decisamente una delusione..soprattutto per windows mobile. Ma vabbè, ora il punto è un altro: sto cercando un modo di scaricare i feed in automatico dal portatile e spedirli sul telefono o sull'nds e poterli visualizzare offline.&lt;br /&gt;&lt;br /&gt;Per cui sono partito da capire come funziona liferea, e se c'è un modo per esportare i feed non ancora letti. Visto che lo scripting integrato non pare andare ("Sorry, no scripting support available" cliccando su "Script Manager"), ho pensato di andare ancora più a basso livello..&lt;br /&gt;&lt;br /&gt;Per esempio potrei partire dal database sqlite  ~/.liferea_1.4/liferea.db in cui salva tutti i feed scaricati.. se devo lavorare con sql mi sento meglio che non con dovermi interfacciare con un linguaggio di cui non avevo mai sentito parlare.. &lt;a href="http://www.lua.org/" target="_blank"&gt;lua&lt;/a&gt;, usato per gli script liferea..&lt;br /&gt;&lt;br /&gt;In questi giorni indago sulla struttura di questo database, poi pubblicherò i risultati..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1007778098570380088?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1007778098570380088/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1007778098570380088' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1007778098570380088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1007778098570380088'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/idea-per-progetto-su-rss.html' title='Idea per progetto su RSS'/><author><name>Shatsar</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-855782704353028950.post-3574532471112813800</id><published>2008-06-14T11:16:00.002+02:00</published><updated>2008-06-14T11:33:35.687+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='riflessioni'/><title type='text'>Che bot mi compro oggi?</title><content type='html'>Leggendo qua e là sul mio feed reader, sono approdato, attraverso il blog di &lt;a href="http://ha.ckers.org/" target="_blank"&gt;RSnake&lt;/a&gt; su un ottimo sito che vende bot per l'iscrizione/manipolazione/spam sui social network. &lt;br /&gt;&lt;br /&gt;Infatti allo stato attuale, quello che attira più attenzioni ed utenti in assoluto in ambito internet è il social networking. E cosa c'è di meglio che modificare il numero di viste al proprio account myspace? Oppure, quanto ci può costare pubblicizzare un account youtube spammando commenti su altri video? &lt;br /&gt;&lt;br /&gt;La risposta è su allbots.info (non è un caso che non sia un link)&lt;br /&gt;&lt;br /&gt;L'importanza (ed il guadagno più o meno immediato) che si può raggiungere sui siti di social networking hanno creato un nuovo settore di mercato di sicuro interesse; &lt;br /&gt;&lt;br /&gt;da parte mia l'interesse sta nel lato tecnico, nel bypass del &lt;a href="http://it.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt; (l'unica parte un po' complessa di un bot del genere), e poco altro visto che sono fuori da siti come myspace, youtube (sul pc che uso di più non ho neanche il player flash) e facebook.&lt;br /&gt;&lt;br /&gt;Ed anche il proliferare degli odiosissimi CAPTCHA sui vari siti ha aperto una nuova frontiera: il loro breaking. &lt;br /&gt;&lt;br /&gt;Gli unici che resistono sono quelli incomprensibili anche all'occhio umano..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-3574532471112813800?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/3574532471112813800/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=3574532471112813800' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3574532471112813800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3574532471112813800'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/che-bot-mi-compro-oggi.html' title='Che bot mi compro oggi?'/><author><name>Shatsar</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-855782704353028950.post-7568893773901245108</id><published>2008-06-12T14:38:00.000+02:00</published><updated>2008-06-12T14:21:42.612+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='iniziative'/><title type='text'>L'impegno da record per firefox 3</title><content type='html'>Per chi non ne avesse ancora sentito parlare, firefox 3 punta a stabilire il record di download in un giorno unico. Quindi appena verrà deciso il download day, tutti pronti a scaricare la nuova versione del browser di Mozilla, per dare un segnale forte (al mondo informatico e non).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;La data è martedì prossimo, 17 giugno.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.spreadfirefox.com/it/worldrecord"&gt;&lt;img alt="Download Day 2008" title="Download Day 2008" src="http://www.spreadfirefox.com/sites/all/themes/spreadfirefox_RCS/images/download-day/buttons/it/180x150_02.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;A parte questo, ci sono diversi motivi per cui aspetto la versione definitiva: da una parte i benchmark a dir poco incoraggianti. Fosse davvero così sarebbe un bel colpo per gli altri browser ed un passo in avanti per gli utenti e la fruibilità di internet. Dall'altra parte vorrei vedere se sono confermati o meno i problemi con certe librerie javascript ajax..&lt;br /&gt;&lt;br /&gt;Infatti ho testato la beta 5 su un mio progetto lavorativo, che si basa fortemente su &lt;a href="http://jquery.com/"&gt;jquery&lt;/a&gt; e su &lt;a href="http://sourceforge.net/projects/sztreeview"&gt;sztreeview&lt;/a&gt;. Un sacco di funzionalità andavano a singhiozzo. Ovviamente non bisogna dargli troppo peso, visto lo stato di beta, ma è un motivo in più per aspettare il download day&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7568893773901245108?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7568893773901245108/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7568893773901245108' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7568893773901245108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7568893773901245108'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/limpegno-da-record-per-firefox-3.html' title='L&apos;impegno da record per firefox 3'/><author><name>Shatsar</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-855782704353028950.post-1834146861731979956</id><published>2008-06-11T11:06:00.003+02:00</published><updated>2008-06-11T12:08:36.958+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sicurezza'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>Utilizzo di wireless non protette</title><content type='html'>10 giorni fa circa ero in montagna per un weekend di relax e aria pulita. Domenica sera accendo il portatile per guardarmi un film, e già che ci sono lancio un &lt;br /&gt;&lt;br /&gt;&gt; iwlist wlan0 s&lt;br /&gt;&lt;br /&gt;Con ben poche pretese, visto che ero in un paese a 1200 m slm praticamente deserto visto il periodo.. Eppure vedo due reti wireless, entrambe sprotette.&lt;br /&gt;&lt;br /&gt;Mi attacco a quella col segnale più potente, DHCP abilitato. Non avendo nessuna intenzione di fare cose losche, ma solo di accedere ad internet, non modifico mac address nè prendo altre precauzioni (non ho firewall ma non partono in automatico servizi importanti) e non cerco nè di sniffare traffico nè di studiare la sotto rete nè di capire che access point è.&lt;br /&gt;&lt;br /&gt;Dubito che ci sia qualcuno in ascolto, vista la situazione, ma essere paranoici a volte è anche divertente. E visto che non tutte le webmail che uso sono in https, decido che è comunque consigliabile affrontare questo problema.&lt;br /&gt;&lt;br /&gt;ora: sul portatile ho una &lt;a href="http://en.wikipedia.org/wiki/Virtual_Private_Network" taget="_blank"&gt;vpn&lt;/a&gt; (&lt;a href="http://openvpn.net" taget="_blank"&gt;OpenVPN&lt;/a&gt;) per attaccarmi ai server in farm a Milano. Il gateway della lan virtuale effettua il nat delle connessioni che arrivano dall'interno, ed io, con la vpn, raggiungo direttamente l'interno della lan. &lt;br /&gt;Il fatto che effettui il nat anche delle connessioni dalla vpn è un prerequisito fondamentale.&lt;br /&gt;&lt;br /&gt;Quindi: &lt;br /&gt;&gt; /etc/init.d/openvpn start&lt;br /&gt;&lt;br /&gt;Ora ho l'interfaccia tun0 che mi fa accedere direttamente ai server. &lt;br /&gt;&lt;br /&gt;&gt; route&lt;br /&gt;La tabella di routing ha come default gateway 192.168.1.1 (l'access point), il che non mi sta bene, se voglio includere tutto il traffico nella vpn ed uscire su internet passando dalla farm. Quindi:&lt;br /&gt;&lt;br /&gt;Elimino la rotta di default&lt;br /&gt;&gt; route del default&lt;br /&gt;&lt;br /&gt;gli aggiungo la rotta per il server vpn (questo passo sembra non essere obbligatorio se si ha già tirato su la vpn, ma a me sembra più chiaro e "rigoroso" metterlo), dicendogli di passare dall'access point&lt;br /&gt;&gt; route add -host ip_pubblico_server_vpn gw 192.168.1.1&lt;br /&gt;&lt;br /&gt;ed ora incapsulo tutto il traffico nell'interfaccia tun0:&lt;br /&gt;&gt; route add default tun0&lt;br /&gt;&lt;br /&gt;Ora basta andare su una pagina che mostra l'ip da cui si arriva per notare che l'ip pubblico è  ip_pubblico_server_vpn. Ora tutto il traffico generato dal mio portatile viene incapsulato nella vpn, passa quindi crittato a livello 4 iso/osi per la wireless e per il percorso dall'access point al mio server vpn per poi uscire in chiaro solo a partire dalla farm.&lt;br /&gt;&lt;br /&gt;In realtà non è nulla di complesso o di innovativo, anzi, ma può tornare utile..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1834146861731979956?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1834146861731979956/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1834146861731979956' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1834146861731979956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1834146861731979956'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/utilizzo-di-wireless-non-protette.html' title='Utilizzo di wireless non protette'/><author><name>Shatsar</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-855782704353028950.post-8252777028460319114</id><published>2008-06-05T11:56:00.005+02:00</published><updated>2008-06-06T09:55:50.085+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><title type='text'>[Howto] create fedora 9 xen images (on fedora)</title><content type='html'>A little howto on creating xen images (using torrent to download the iso instead of using http/ftp during installation).&lt;br /&gt;&lt;br /&gt;**On Domain-0**&lt;br /&gt;&lt;br /&gt;Get DVD iso&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;retrieve the .torrent&lt;br /&gt;&gt; wget http://torrent.fedoraproject.org/torrents/Fedora-9-x86_64-DVD.torrent&lt;br /&gt;&lt;br /&gt;download the image with rtorrent (text-based) or any other bittorrent client&lt;br /&gt;&gt; rtorrent Fedora-9-x86_64-DVD.torrent&lt;br /&gt;&lt;br /&gt;check the file&lt;br /&gt;&gt; sha1sum -c Fedora-9-x86_64-DVD/SHA1SUM&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mount the image and "create" a repository&lt;br /&gt;--------&lt;br /&gt;&lt;br /&gt;Mount the iso image using loop device&lt;br /&gt;&gt; mkdir /mnt/fedora_loop/&lt;br /&gt;&gt; mount -o loop Fedora-9-x86_64-DVD/Fedora-9-x86_64-DVD.iso /mnt/fedora_loop/&lt;br /&gt;&lt;br /&gt;Make a symlink in apache (so http://localhost/fedora will be the content of the iso image&lt;br /&gt;this is also helpful if you don't have internet connection here but only the dvd: you can link directly the dvd content and proceed ahead&lt;br /&gt;&gt; ln -s /mnt/fedora_loop/ /var/www/html/fedora&lt;br /&gt;&lt;br /&gt;Start httpd service&lt;br /&gt;&gt; service httpd start&lt;br /&gt;&lt;br /&gt;Install&lt;br /&gt;-------&lt;br /&gt;&lt;br /&gt;Start the install process with virt-install (parameters are optional)&lt;br /&gt;&gt; virt-install -b xenbr1 -s 16 -f /xen/fedora9.img -n fedora9 -r 256 --nographics -l http://192.168.1.1/fedora&lt;br /&gt;&lt;br /&gt;*where 192.168.1.1 is Domain-0's IP address*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8252777028460319114?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8252777028460319114/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8252777028460319114' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8252777028460319114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8252777028460319114'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/howto-create-xen-fedora-9-image-on.html' title='[Howto] create fedora 9 xen images (on fedora)'/><author><name>Shatsar</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-855782704353028950.post-843567659789528111</id><published>2008-06-04T23:50:00.005+02:00</published><updated>2008-06-05T00:25:06.789+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>Utilizzo avanzato di PostgreSQL</title><content type='html'>Per la prima volta vengo a contatto, per lavoro, con qualcuno che usa il database in modo avanzato ed ecco qualche tip che ho estratto (da mettere come campi della select):&lt;br /&gt;&lt;br /&gt;Concatenazione&lt;br /&gt;--------------&lt;br /&gt;&lt;br /&gt;&gt; 'pref-' || nome :: varchar (5) as "nome con prefisso"&lt;br /&gt;&lt;br /&gt;dove || concatena il prefisso alla sotto stringa di lunghezza 5 del campo nome&lt;br /&gt;&lt;br /&gt;Condizione&lt;br /&gt;---------&lt;br /&gt;&lt;br /&gt;&gt; case when data is null then NULL&lt;br /&gt;&gt;      else to_char(data :: date, 'dd/mm/yyyy')&lt;br /&gt;&gt; end as "data_str"&lt;br /&gt;&lt;br /&gt;con il controllo sul campo data che viene trasformato in stringa impostata a null se era null, altrimenti formattata secondo un modo diverso&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Differenza tra date &lt;br /&gt;-------------------&lt;br /&gt;&lt;br /&gt;&gt; extract(year from age(data_arrivo :: date, data_partenza :: date)) &lt;br /&gt;&gt; as "anni impiegati" &lt;br /&gt;&lt;br /&gt;calcola la differenza tra date e ne estrae il solo anno&lt;br /&gt;&lt;br /&gt;Formattazione ore&lt;br /&gt;-----------------&lt;br /&gt;&lt;br /&gt;&gt; case &lt;br /&gt;&gt;   when ora is null then null&lt;br /&gt;&gt; else to_char(((ora :: varchar(2)) || ':00:00') :: time, 'hh24:mm') &lt;br /&gt;&gt; end as "ora formattata"&lt;br /&gt;&lt;br /&gt;controlla il campo ora (varchar(2) con valori "00" -&gt; "23") e se è non nullo lo trasforma in "00:00" -&gt; "23:00"&lt;br /&gt;&lt;br /&gt;Altro esempio di age()&lt;br /&gt;----------------------&lt;br /&gt;&lt;br /&gt;&gt; case&lt;br /&gt;&gt;   when age(data1 :: date + time1 :: time,  data2 :: date + time2 :: time) &lt; '6 hour' then 0&lt;br /&gt;&gt;   when age(data1 :: date + time1 :: time,  data2 :: date + time2 :: time) &lt; '24 hour' then 1&lt;br /&gt;&gt;   else -1&lt;br /&gt;&gt; end as 'interval'&lt;br /&gt;&lt;br /&gt;calcola la differenza tra due somme di date+time, e mette nel campo interval un flag intero -1 -&gt; 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;che dire.. troppe volte ho dovuto fare a livello superiore controlli che andavano fatti direttamente nel database, per cui sono rimasto positivamente colpito da questo script, che tra l'altro viene usato per creare una view.. altro strumento che troppo spesso viene ignorato&lt;br /&gt;ah, sto cercando di usare questo: &lt;a href="http://daringfireball.net/projects/markdown/basics"&gt;markdown&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-843567659789528111?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/843567659789528111/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=843567659789528111' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/843567659789528111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/843567659789528111'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/06/utilizzo-avanzato-di-postgresql.html' title='Utilizzo avanzato di PostgreSQL'/><author><name>Shatsar</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-855782704353028950.post-2006042247109460020</id><published>2008-05-23T17:41:00.003+02:00</published><updated>2008-05-23T17:50:58.595+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Come funziona Google Analytics</title><content type='html'>Navigando tra un blog e l'altro, sono approdato su un blog monotematico sul noto servizio di statistiche di Google.&lt;br /&gt;&lt;br /&gt;Più o meno il funzionamento è come me l'ero immaginato, e penso che in molti siano giunti alle mie conclusioni, però è un post scritto in modo semplice e schematico, per cui è una simpatica lettura per capire la struttura e il funzionamento di questo strumento così diffuso: &lt;a href="http://www.goanalytics.info/lordine-e-importante/"&gt;http://www.goanalytics.info/lordine-e-importante/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Buona lettura&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2006042247109460020?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2006042247109460020/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2006042247109460020' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2006042247109460020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2006042247109460020'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/05/come-funziona-google-analytics.html' title='Come funziona Google Analytics'/><author><name>Shatsar</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-855782704353028950.post-7191514557893826382</id><published>2008-05-09T19:49:00.005+02:00</published><updated>2008-05-09T20:02:35.371+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ffmpeg'/><category scheme='http://www.blogger.com/atom/ns#' term='smartphone'/><title type='text'>Audio e video per windows media player 10 mobile</title><content type='html'>Sto bestemmiando con ffmpeg per convertire un po' di filmati in un formato ottimale da visualizzare sullo smartphone, quindi procedo con qualche appunto sparso.&lt;br /&gt;i formati supportati sono:&lt;br /&gt;Windows Media Audio (WMA), Windows Media Video (WMV) e MP3&lt;br /&gt;&lt;br /&gt;mentre dalla documentazione pare che i codec supportati siano:&lt;br /&gt;Microsoft Windows Media Video codec versions 7, 8, and 9.&lt;br /&gt;Microsoft Windows Media Video 9 Image codec versions 1.0 and 2.0.&lt;br /&gt;Microsoft MPEG-4 codec version 2.0 and 3.0.&lt;br /&gt;ISO MPEG-4 video codec version 1.0.&lt;br /&gt;&lt;br /&gt;Ovviamente la mia versione di ffmpeg, da quello che ho visto, non supporta NESSUNO di questi codec.. è compilato in modo un po' troppo restrittivo, quindi dovrò lavorarci un po'.&lt;br /&gt;&lt;br /&gt;per quanto riguarda la risoluzione, invece, dipende dal dispositivo. Il mio, per esempio, è in 320x240, risoluzione anche conosciuta come qvga (un quarto di VGA), per cui ad ffmpeg va passata l'opzione -s qvga.&lt;br /&gt;&lt;br /&gt;Alla prossima&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7191514557893826382?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7191514557893826382/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7191514557893826382' title='3 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7191514557893826382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7191514557893826382'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/05/audio-e-video-per-windows-media-player.html' title='Audio e video per windows media player 10 mobile'/><author><name>Shatsar</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-855782704353028950.post-6901048977171447183</id><published>2008-05-01T17:20:00.004+02:00</published><updated>2008-05-01T17:36:24.221+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='flowplayer'/><title type='text'>Flowplayer: per quelli che "non esiste solo youtube .."</title><content type='html'>Oggi ho usato per la prima volta flowplayer. Ne avevo già sentito parlare, ma finora non avevo ancora avuto necessità di includerlo in qualche mio progetto. Ora invece ne avevo bisogno e sono rimasto decisamente soddisfatto del prodotto.&lt;br /&gt;&lt;br /&gt;Andando con ordine: &lt;a href="http://flowplayer.org"&gt;Flowplayer&lt;/a&gt; viene giustamente definito così sul sito ufficiale:&lt;br /&gt;&lt;blockquote&gt;FlowPlayer is a Flash media player. You can use it on your HTML pages to play video files. "It is your personal YouTube".&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;E visto che non sempre si può o si vuole codividere il filmato su youtube, questo è uno strumento sicuramente utile. In particolare io avevo bisogno di pubblicare con questo player flash un filmato .MOV. Flowplayer supporta tre formati video: .flv, mpeg4 e h264. &lt;br /&gt;Quindi un mov bisogna convertirlo, per cui ho scaricato &lt;a href="http://ffmpeg.mplayerhq.hu/"&gt;ffmpeg&lt;/a&gt; e ho lanciato il comando:&lt;br /&gt;&lt;code&gt;&lt;br /&gt; ffmpeg -i movie.mov -vcodec flv movie.flv &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;ho uploadato il file .flv e flowplayer via ftp sul server, ho configurato il file di esempio per caricare il .flv e ho mandato un'email al cliente per fargli vedere il player.. se gli piace avrò modo di configurarlo meglio e vederne le potenzialità. &lt;br /&gt;&lt;br /&gt;Per ora mi ha fatto un'ottima impressione e lo terrò presente per eventuali necessità simili in futuro, quando non è possibile appoggiarsi a youtube o simili&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6901048977171447183?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6901048977171447183/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6901048977171447183' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6901048977171447183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6901048977171447183'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/05/flowplayer-per-quelli-che-non-esiste.html' title='Flowplayer: per quelli che &quot;non esiste solo youtube ..&quot;'/><author><name>Shatsar</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-855782704353028950.post-7279534979651158427</id><published>2008-04-28T12:55:00.002+02:00</published><updated>2008-04-28T13:01:48.695+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Mai usare distribuzioni a 64 bit parte 2a</title><content type='html'>rinnovo l'odio e la frustrazione già espressa tempo fa&lt;br /&gt;nel mio post &lt;a href="http://shatsar.blogspot.com/2008/02/mai-usare-distribuzioni-64-bit.html"&gt;"mai usare distribuzioni a 64 bit"&lt;/a&gt; aggiungendo che mi era sfuggita una cosa secondaria ma non troppo: anche le applet java non funzionano!&lt;br /&gt;&lt;br /&gt;La plugin icedtea è indietro, e su un'applet di cui ho bisogno si inventa un errore su un certificato, mentre la sun (che ha appena rilasciato open source un'altra parte della jdk) si para il suo dannato culo scrivendo, sotto i file java distribuiti per questa architettura maledetta:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;* Please use the 32-bit version for Java applet and Java Web Start support.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ma dai cazzo, non riesco a credere che sia così fottutamente impossibile dare un supporto decente a questa architettura che ha sempre di più una quota di mercato significativa!!&lt;br /&gt;&lt;br /&gt;Non so se sono incompetenti o semplicemente stronzi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7279534979651158427?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7279534979651158427/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7279534979651158427' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7279534979651158427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7279534979651158427'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/04/mai-usare-distribuzioni-64-bit-parte-2a.html' title='Mai usare distribuzioni a 64 bit parte 2a'/><author><name>Shatsar</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-855782704353028950.post-6263226261044598953</id><published>2008-04-23T19:19:00.003+02:00</published><updated>2008-04-23T19:36:37.597+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Piattaforma di blog alternativa</title><content type='html'>Nei miei viaggi alla deriva in internet, sono finito su un progetto davvero delirante.&lt;br /&gt;&lt;br /&gt;nel senso buono.&lt;br /&gt;&lt;br /&gt;Sinceramente non ci ho ancora messo le mani sopra.. ma ho il dubbio che lo farò al più presto. Infatti è interessante vedere come si possano usare certe tecnologie già esistenti per creare delle alternative (che siano valide o meno è tutto da decidere) a modelli che ormai sono degli standard de facto per alcune applicazioni. &lt;br /&gt;Mi riferisco al modello LAMP. Nulla in contrario, anzi.. lo uso da parecchi anni, ma questo non vuol dire che non si possa esplorare altre strade..&lt;br /&gt;&lt;br /&gt;E poi c'è da installare il modlisp su apache :D&lt;br /&gt;&lt;br /&gt;Credo sia proprio il fatto che ci sia di mezzo il LISP a stuzzicarmi..&lt;br /&gt;eccolo: &lt;a href="http://wingolog.org/software/tekuti/"&gt;tekuti&lt;/a&gt; .. enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6263226261044598953?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6263226261044598953/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6263226261044598953' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6263226261044598953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6263226261044598953'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/04/piattaforma-di-blog-alternativa.html' title='Piattaforma di blog alternativa'/><author><name>Shatsar</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-855782704353028950.post-8602226275162535705</id><published>2008-04-21T16:36:00.003+02:00</published><updated>2008-04-21T16:45:49.955+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cazzeggio'/><title type='text'>History Meme</title><content type='html'>da qualche tempo sto trovando in giro questo meme.. e per una volta ho deciso di seguirne uno, anche perchè mi è sembrato molto più interessante del solito:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head&lt;br /&gt;265 cd&lt;br /&gt;220 ls&lt;br /&gt;105 svn&lt;br /&gt;56 ant&lt;br /&gt;38 vim&lt;br /&gt;32 evince&lt;br /&gt;31 pdflatex&lt;br /&gt;26 cat&lt;br /&gt;25 su&lt;br /&gt;23 ssh&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;beh.. si nota subito la mia tendenza a navigare per le cartelle a riga di comando.. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8602226275162535705?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8602226275162535705/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8602226275162535705' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8602226275162535705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8602226275162535705'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/04/history-meme.html' title='History Meme'/><author><name>Shatsar</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-855782704353028950.post-5218844504835189681</id><published>2008-04-10T23:50:00.002+02:00</published><updated>2008-04-10T23:59:34.692+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='office'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>docx, niente paura.. o forse si?</title><content type='html'>Oggi è salito a quota 3 il numero di persone che mi han chiamato a metà tra disperazione e l'ira funesta per aver ricevuto un documento .docx in cui ci sono informazioni importantissime che non riescono ad aprire.&lt;br /&gt;&lt;br /&gt;Questo capita per il fatto che, evidentemente, il formato &lt;a href="http://en.wikipedia.org/wiki/Office_Open_XML"&gt;Office Open XML&lt;/a&gt; è diventato il default per le applicazioni Ufficio di Microsoft. E senza troppo preavviso.. nel senso che comunque ai non addetti ai lavori, questa inversione di rotta è passata inosservata. Per cui ci si ritrova con un problema che prima era sconosciuto ai più: l'incompatibilità!&lt;br /&gt;Ed a poco serve cercare di usare i convertitori online (io ne ho provato uno ed è stato un fallimento, ma ora che è standard ISO mi aspetto che migliorino..) o piangere e sospirare..&lt;br /&gt;&lt;br /&gt;l'unica soluzione è comprare l'ultima nuova fiammante versione di Ufficio! E via!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5218844504835189681?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5218844504835189681/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5218844504835189681' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5218844504835189681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5218844504835189681'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/04/docx-niente-paura-o-forse-si.html' title='docx, niente paura.. o forse si?'/><author><name>Shatsar</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-855782704353028950.post-5852295444991546450</id><published>2008-04-02T21:52:00.004+02:00</published><updated>2008-04-02T22:24:36.969+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><category scheme='http://www.blogger.com/atom/ns#' term='nds'/><title type='text'>E siamo ad aprile: NDS, smanettamenti e progetti</title><content type='html'>Cazzo se è volato il tempo. Il primo quarto di 2008 se n'è andato di corsa.. ma vabbè.&lt;br /&gt;&lt;br /&gt;In questi giorni ho appreso con soddisfazione della scelta ricaduta su Milano per l'Expo 2015 (sapete tutti che è stato merito di Berlusconi, no? Ma avevate dubbi che una persona malata di protagonismo avrebbe rinunciato all'occasione di spararne una così grossa?).&lt;br /&gt;Ma a parte questo, la cosa che più mi rende felice è notare che ho sempre più voglia di ricominciare a darmi all'hacking, agli smanettamenti notturni su software/hardware e via dicendo.&lt;br /&gt;Ed ora che mi ritrovo, in previsione, con un po' di tempo libero (grazie a progetti che finalmente stanno giungendo a conclusione) sto per ordinare qualcosa da &lt;a href="http://www.phidgets.com/"&gt;phidgets.com&lt;/a&gt; .. non ho ancora deciso, forse il pacchetto per gli RFID, o uno starter kit generico e via..&lt;br /&gt;Gli RFID sono un mio pallino da un po' di tempo, immaginatevi ora dopo gli ultimi sviluppi &lt;a href="http://www.theregister.co.uk/2008/03/12/mifare_classic_smartcard_crack/"&gt;(Mifare Classic)&lt;/a&gt; ..&lt;br /&gt;&lt;br /&gt;Per ultimo ieri notte ho flashato un altro nds, sempre per la supercard slot-2.&lt;br /&gt;I link di riferimento sono sempre i soliti (anche se non li avevo ancora postati):&lt;br /&gt;&lt;a href="http://home.comcast.net/%7Eolimar/flashme/"&gt;http://home.comcast.net/~olimar/flashme/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gbarl.it/index.php?showtopic=12495"&gt;http://www.gbarl.it/index.php?showtopic=12495&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Altri appunti in ordine sparso:&lt;br /&gt;* Il compilatore per NDS non è il compilatore normale ARM, in quanto mancano alcune caratteristiche.. ma c'è già la versione patchata.&lt;br /&gt;* A breve organizzerò un appuntamento fisso con alcuni miei amici smanettoni e proveremo finalmente a programmarci sopra.&lt;br /&gt;* La wifi del DS non supporta modalità monitor&lt;br /&gt;* finalmente ho capito come montare in loop device le immagini di xen (quelle del tipo: più partizioni all'interno dello stesso file .img).. lomount -t ext3 -diskimage FILE -partition NUM /mnt/sticazzi ..&lt;br /&gt;* Io pocahontas me la farei (ho trovato degli .mp3 di qualche anno fa.. :) )&lt;br /&gt;&lt;br /&gt;Magari approfondirò qualche punto di questi in post successivi..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-5852295444991546450?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/5852295444991546450/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=5852295444991546450' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5852295444991546450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/5852295444991546450'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/04/e-siamo-ad-aprile-nds-smanettamenti-e.html' title='E siamo ad aprile: NDS, smanettamenti e progetti'/><author><name>Shatsar</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-855782704353028950.post-2125394624651135207</id><published>2008-03-31T11:29:00.005+02:00</published><updated>2008-04-02T21:52:39.159+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><title type='text'>L'importanza di essere sincronizzati</title><content type='html'>Una delle varie cose che mi fa innervosire è l'orario sputtanato sui vari computer.&lt;br /&gt;per cui:&lt;br /&gt;http://it.wikipedia.org/wiki/Network_Time_Protocol per un'infarinatura generale.&lt;br /&gt;http://www.pool.ntp.org/zone/it per il pool italiano&lt;br /&gt;&lt;br /&gt;Se non si vuole configurare ntpd, il demone per tenersi allineati con il server, può tornare utile lanciare manualmente l'aggiornamento con il comando:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;ntpdate 2.it.pool.ntp.org&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ci vuole così poco!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2125394624651135207?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2125394624651135207/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2125394624651135207' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2125394624651135207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2125394624651135207'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/03/limportanza-di-essere-sincronizzati.html' title='L&apos;importanza di essere sincronizzati'/><author><name>Shatsar</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-855782704353028950.post-1352182676367662819</id><published>2008-03-19T14:34:00.000+01:00</published><updated>2008-03-19T14:35:02.052+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='delirio'/><category scheme='http://www.blogger.com/atom/ns#' term='firebug'/><title type='text'>I poteri nascosti di FireBug</title><content type='html'>Sono un grande utilizzatore e fan della plugin di firefox &lt;a href="http://www.getfirebug.com/"&gt;FireBug&lt;/a&gt;.&lt;br /&gt;E' davvero avanti..come &lt;a href="http://shatsar.blogspot.com/2007/06/firefox-debug-firebug.html"&gt;già ho avuto modo di dirvi&lt;/a&gt;. Ma quello che mi ha davvero lasciato di stucco oggi è il fatto che firefox abbia un comportamento decisamente diverso con firebug attivo o no:&lt;br /&gt;purtroppo non sapevo che l'oggetto nativo XMLHttpRequest viene wrappato da FireBug.&lt;br /&gt;E mentre in rete leggo che questo genera dei problemi, a me li genera il fatto che quando non è wrappato, la responseXML non venga riconosciuta... Eppure mi pare un .xml con tutti i crismi, ma con firebug attivato mi ritrovo con l'xmlhttprequest correttamente riempito con la responseXML, mentre con firebug off no..&lt;br /&gt;&lt;br /&gt;mah .. va a finire che uso questa libreria per uniformare il comportamento dei vari browser: &lt;a href="http://code.google.com/p/xmlhttprequest/"&gt;http://code.google.com/p/xmlhttprequest/&lt;/a&gt; chissà, magari funziona...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1352182676367662819?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1352182676367662819/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1352182676367662819' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1352182676367662819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1352182676367662819'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/03/i-poteri-nascosti-di-firebug.html' title='I poteri nascosti di FireBug'/><author><name>Shatsar</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-855782704353028950.post-1002146157580103975</id><published>2008-03-05T15:49:00.003+01:00</published><updated>2008-03-05T16:12:10.794+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><title type='text'>Come resettare la password di root in mysql</title><content type='html'>A volte capita di fare le cose di fretta.. molta fretta.&lt;br /&gt;Ed in quelle volte capita fin troppo spesso di fare qualche cazzata.. :)&lt;br /&gt;&lt;br /&gt;Mi sono ritrovato a dover cambiare la password di root (che era sconosciuta) di mysql su un server.&lt;br /&gt;Il trucco è il seguente che, agli utenti linux un minimo smaliziati, ricorderà la possibilità di passare l'init a grub/lilo:&lt;br /&gt;&lt;br /&gt;prima di tutto stoppare il server mysql.&lt;br /&gt;Preparare le seguente query in un file .sql (tipo /tmp/reset.sql):&lt;br /&gt;&lt;code&gt;SET PASSWORD FOR 'root'@'localhost' = PASSWORD('assword');&lt;/code&gt;&lt;br /&gt;riavviare il server mysql così:&lt;br /&gt;&lt;code&gt;mysqld_safe --init-file=/tmp/reset.sql &amp;amp;&lt;/code&gt;&lt;br /&gt;loggarsi con utente root e la nuova password 'assword'&lt;br /&gt;lanciare il comando &lt;code&gt;drop database mysql&lt;/code&gt; :)&lt;br /&gt;&lt;br /&gt;inutile dire quanto tempo/bestemmie mi abbia fatto risparmiare questo trucchetto..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-unix"&gt;documentazione mysql ufficiale&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1002146157580103975?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1002146157580103975/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1002146157580103975' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1002146157580103975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1002146157580103975'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/03/come-resettare-la-password-di-root-in.html' title='Come resettare la password di root in mysql'/><author><name>Shatsar</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-855782704353028950.post-49990306777589986</id><published>2008-02-27T14:32:00.003+01:00</published><updated>2008-02-27T14:57:33.754+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='odio'/><category scheme='http://www.blogger.com/atom/ns#' term='nerd'/><title type='text'>Mai usare distribuzioni a 64 bit</title><content type='html'>E che palle, non funziona mai un cazzo sull'architettura a 64 bit.&lt;br /&gt;&lt;br /&gt;L'ultima applicazione che si è aggiunta alla lista di software non funzionanti/non installabili/buggati, sotto questa fantastica architettura, è il dannato &lt;a href="http://java.sun.com/products/sjwtoolkit/overview.html"&gt;Sun Java Wireless Toolkit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Continuo a chiedermi come mai i processori a 64 bit siano fuori da un sacco di tempo (inizio del millennio) mentre le relative distribuzioni GNU/Linux sono disponibili da pochi anni, e da ancora meno tempo è in circolazione windows a 64 bit.. mah.&lt;br /&gt;&lt;br /&gt;Certo la decisione di non creare un'architettura veramente nuova che lasciasse perdere l'instruction set i386  famoso per delle istruzioni che hanno poco a che fare con l'assembly (istruzioni su stringhe..), ma che desse una qualche continuità con il passato ha avuto un peso decisivo in questo. Infatti se da un lato ha permesso una commercializzazione immediata di questi processori, dall'altro ha concesso alle software house il lusso di prendersela con calma.. con molta calma.&lt;br /&gt;&lt;br /&gt;Al punto che dopo quasi 8 anni di commercializzazione di questa architettura che ormai domina il mercato ci si ritrovi ancora a fare i conti con un player flash non disponibile, con un sun java sticazzi che non può funzionare, con un eclipse fottutamente instabile e con mega e mega di librerie di compatibilità con 32 bit.&lt;br /&gt;&lt;br /&gt;bello, eh?&lt;br /&gt;&lt;br /&gt;E sia chiaro, come nerd non accetterei mai di usare una distribuzione a 32 bit... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-49990306777589986?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/49990306777589986/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=49990306777589986' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/49990306777589986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/49990306777589986'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/02/mai-usare-distribuzioni-64-bit.html' title='Mai usare distribuzioni a 64 bit'/><author><name>Shatsar</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-855782704353028950.post-2772399298945069548</id><published>2008-02-15T15:06:00.004+01:00</published><updated>2008-02-15T15:24:17.704+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sztreeview'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><title type='text'>Sourceforge: sztreeview</title><content type='html'>Ho deciso che è ora di fare una prima simpatica release dei due progetti software che sto sviluppando su sourceforge. Non mi aspetto che vengano usati, uno perchè troppo specifico (e quindi verrà usato più avanti in università) ed uno un po' troppo complesso.&lt;br /&gt;&lt;br /&gt;Infatti sztreeview è cresciuto all'inverosimile, al punto che a volte è complesso anche per me capire alcune parti. Infatti è una libreria javascript per creare strutture ad albero; e fin qua nulla di strano.&lt;br /&gt;Pienamente configurabile nell'aspetto (attraverso css) e tendenzialmente aderente agli standard w3c; dico tendenzialmente perchè all'inizio era XHTML Strict, e non dico altro. Con le ultime caratteristiche aggiunte potremmo aver lasciato qualche imperfezione.&lt;br /&gt;&lt;br /&gt;Abbiamo anche aggiunto supporto ajax, sviluppando una piccola libreria per gestire le chiamate in background per richiedere, per esempio, i figli di un nodo all'apertura dello stesso.&lt;br /&gt;&lt;br /&gt;La cosa si complica pensando al supporto in ambiente distribuito, per cui aggiunta/modifica/cancellazione di nodi, con conseguente notifica al server (via libreria ajax sviluppata per l'occasione) dei cambiamenti e quindi possibilità di ricevere cambiamenti effettuati da altri attraverso semplice polling oppure notifica alla prima richiesta effettuata al server.&lt;br /&gt;&lt;br /&gt;Intoltre ad ogni nodo dell'albero è possibile associare uno user object, quindi è sorta la necessità di poterlo visualizzare, da qui è quindi nato lo userObjectDisplayer da estendere con le proprie funzionalità.&lt;br /&gt;&lt;br /&gt;Ah, e c'è pure il menu contestuale, ma non credo funzioni molto sotto explorer.&lt;br /&gt;E questo è solo il lato client, lato server ci sono parecchi oggetti e anche delle taglib..&lt;br /&gt;&lt;br /&gt;Il tutto cmq funziona ed è già utilizzato, bisogna solo cercare di renderlo più chiaro ed user friendly :)&lt;br /&gt;&lt;br /&gt;Magari spiegherò meglio il resto quando preparo la release.. spero presto, ma non assicuro niente.&lt;br /&gt;intanto continuo a lavorare su entrambi (e che soddisfazione vedere tutti e due sopra il 90 percentile di attività!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2772399298945069548?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2772399298945069548/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2772399298945069548' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2772399298945069548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2772399298945069548'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/02/sourceforge-sztreeview.html' title='Sourceforge: sztreeview'/><author><name>Shatsar</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-855782704353028950.post-2882948035891528296</id><published>2008-02-10T21:24:00.000+01:00</published><updated>2008-02-10T21:51:59.887+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><category scheme='http://www.blogger.com/atom/ns#' term='nds'/><title type='text'>Hacking NDS Parte 2: dldi</title><content type='html'>Come avevo detto nel post precedente, dedico qualche minuto alla stesura di poche righe riguardanti un passaggio fondamentale per eseguire codice non ufficiale sul nintendo ds: patchare con dldi.&lt;br /&gt;&lt;br /&gt;Praticamente il senso è questo: sarebbe troppo oneroso per un programmatore dover prevedere nel proprio codice tutti i tipi di dispositivi (in termini hardware quali supercard, sdhc one..) su cui verrà eseguito il software e distribuire quindi n compilati, uno per ogni dispositivo. &lt;br /&gt;Per questo motivo è utile potersi affidare a patch che vengono applicate in un secondo momento e che in qualche modo "adattano" l'eseguibile alla particolare configurazione che si ha.&lt;br /&gt;&lt;br /&gt;I passi per far questo sono semplici: andare sul &lt;a href="http://chishm.drunkencoders.com/DLDI/"&gt;sito ufficiale&lt;/a&gt; a prendere il file .dldi (&lt;a href="http://dldi.drunkencoders.com/index.php?title=Category:Devices"&gt;sul wiki,&lt;/a&gt; perchè lì sono messe le versioni aggiornate) per il proprio dispositivo. Per esempio quello che uso io per la supercard ds one hc è Scsdhc.dldi. scaricare il sw per applicare la patch. scaricare un homebrew, patcharlo col comando:&lt;br /&gt;&lt;br /&gt;./dlditool &amp;lt;dldi&amp;gt; &amp;lt;app&amp;gt;&lt;br /&gt;&lt;br /&gt;metterlo sulla scheda ed avviare. partirà l'ambiente grafico (un micro sistema operativo distribuito con la scheda da mettere sulla microsd) da cui selezionare l'homebrew per lanciarlo.&lt;br /&gt;&lt;br /&gt;per i file .nds con la supercard slot2 a volte questo procedimento non basta e ci si ritrova con l'nds piantato con schermata bianca. noi abbiamo risolto usando il software ufficiale supercard che è ampiamente descritto su &lt;a href="http://www.gbarl.it/index.php?showtopic=16852"&gt;gbarl.it&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ed ora via con dslinux! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2882948035891528296?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2882948035891528296/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2882948035891528296' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2882948035891528296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2882948035891528296'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/02/hacking-nds-parte-2-dldi.html' title='Hacking NDS Parte 2: dldi'/><author><name>Shatsar</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-855782704353028950.post-2180080275370623218</id><published>2008-01-24T11:52:00.000+01:00</published><updated>2008-01-24T11:59:20.592+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><title type='text'>log4j 1.2.12 e log level trace</title><content type='html'>La versione di log4j in oggetto aveva evidentemente un buco enorme nella gestione del trace. Infatti dopo un bel po' di tempo perso a capire come mai il livello trace aveva un comportamento anomalo, ho aggiornato la versione di log4j, senza cambiare una virgola del codice, e tutto è andato a posto.&lt;br /&gt;&lt;br /&gt;I sintomi erano: una configurazione giusta caricata correttamente ( testato con i metodi logger.isTraceEnabled(), isDebugEnabled...) ed un livello trace che nei file di log si presentava con un ottimo "?" al posto del nome della classe a cui il logger è associato.&lt;br /&gt;&lt;br /&gt;Aggiornando la libreria è sparito il problema. Evviva il progresso...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2180080275370623218?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2180080275370623218/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2180080275370623218' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2180080275370623218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2180080275370623218'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/01/log4j-1212-e-log-level-trace.html' title='log4j 1.2.12 e log level trace'/><author><name>Shatsar</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-855782704353028950.post-8548195587252998794</id><published>2008-01-23T15:47:00.000+01:00</published><updated>2008-01-23T16:10:55.794+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hacking'/><category scheme='http://www.blogger.com/atom/ns#' term='nds'/><title type='text'>Hacking NDS Parte 1: Concetti preliminari</title><content type='html'>La prima cosa da fare quando si smanetta su qualcosa è secondo me, capire con cosa si ha a che fare, chiarire qual è l'obiettivo da raggiungere e conoscere gli strumenti che useremo per raggiungerli.&lt;br /&gt;&lt;br /&gt;Quindi, lasciamo perdere le cazzate e partiamo subito.&lt;br /&gt;&lt;br /&gt;Abbiamo a che fare con una piattaforma particolare: infatti e' una console di gioco con delle caratteristiche decisamente interessanti che potete visionare su &lt;a href="http://en.wikipedia.org/wiki/Nintendo_DS_Lite" target="_BLANK"&gt;wikipedia&lt;/a&gt;. In dettaglio ci interessa il fatto che sia praticamente un computerino, con un processore (ma anche due) arm abbastanza diffuso in ambito embedded.&lt;br /&gt;&lt;br /&gt;L'obiettivo e' far eseguire alla console codice non ufficiale. E quindi si presenta il problema del check. Infatti all'avvio, il nintendo ds effettua dei controlli sul codice presente sulla carta inserita in quel momento.&lt;br /&gt;&lt;br /&gt;Il modo sicuramente piu' semplice per bypassare questo controllo è quello di far avviare la console in un ambiente sotto il nostro controllo. Esistono delle schede in commercio adatte a questo scopo, ma prima  chiariamo un altro aspetto.&lt;br /&gt;&lt;br /&gt;Lo slot 1 e' quello dietro, in cui si inseriscono  i giochi nds. E' quello da cui la console effettua il boot. Lo slot 2 e' quello frontale, usato per i giochi gba e per l'espansione di memoria ram (i 4 mega integrati non sempre sono sufficienti). Non si puo' avviare da questo senza cambiare il firmware del nintendo ds.&lt;br /&gt;&lt;br /&gt;Ci sono diversi tool per eseguire il codice per entrambi gli slot, ma io consiglio la supercard ds one sdhc o la supercard  slot 2 non la versione rumble ma quella con 32mb di ram. Con la prima se avete l'expansion pack Opera siete a posto. Con la seconda siete abbondanti con la ram ma avete bisogno che qualcuno vi cambi il firmware con una card slot 1. E' un'operazione delicata di per se', ma non particolarmente complessa.&lt;br /&gt;&lt;br /&gt;Ed ora un brevissimo resoconto: questo weekend mi sono trovato con un amico e la nostra situazione era: due ds lite, un expansion pack Opera (il mio), una supercard sdhc (quindi che può leggere le microsd hc) una supercard dsl con 32 mb di ram. Come prima cosa abbiamo cambiato il firmware del suo nds. Come ho già detto è un'operazione delicata, perchè nel momento in cui smanetti col firmware ti perdi la garanzia, e se qualcosa andasse storto ti sei giocato la console. Quindi seguite alla lettera le istruzioni che trovate in rete, ed andrà tutto bene. Nel giro di pochissimi minuti entrambe le console erano pronte ad eseguire codice non ufficiale. Una con la sc sdhc e espansione di 8 MB di ram e l'altra con la sc e 32 mb di ram aggiuntivi.&lt;br /&gt;&lt;br /&gt;Nel prossimo post vi parlo del dldi, altro step necessario prima di far partire i vari software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-8548195587252998794?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/8548195587252998794/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=8548195587252998794' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8548195587252998794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/8548195587252998794'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/01/hacking-nds-parte-1-preconcetti.html' title='Hacking NDS Parte 1: Concetti preliminari'/><author><name>Shatsar</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-855782704353028950.post-7078074756123611033</id><published>2008-01-13T02:33:00.000+01:00</published><updated>2008-01-13T02:50:14.465+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>..ed è già duemilaeotto</title><content type='html'>Eccomi ad inaugurare il nuovo anno di questo blog. Non ho intenzione di fare un bilancio approfondito del 2007, ma mi limiterò a dire che è stato un anno positivo, fatto di molto lavoro e qualche esame ma soprattutto di un sacco di soddisfazioni nella real life.&lt;br /&gt;&lt;br /&gt;Il 2008 parte sotto i migliori auspici: un'ottima vacanza in montagna seguita da un rientro carico di lavoro e di impegni. E questo mi piace. Mi piace un sacco. E mi riporta all'entusiasmo di due anni fa, che forse mi è mancato alla fine del 2007, quando era diventato tutto più grigio e stancante.&lt;br /&gt;Mi riporta a quell'entusiasmo positivo, quello che mi spinge a lavorare parecchie ore in più del normale, quello che mi porta a trovare sempre un ritaglio di tempo per la donna, quello che mi permette di dedicare uno spicchio di giornata alla musica, quello che mi tiene su la notte a studiare, a scrivere email, a pianificare le giornate, a programmare e a pensare che, in fondo, mi piace davvero un sacco.&lt;br /&gt;&lt;br /&gt;buon anno&lt;br /&gt;&lt;br /&gt;ah, per la cronaca.. tra i progetti che metto in coda, c'è anche il cracking del nintendo ds, martedì ritiro la supercard.. ci sarà da smanettare e divertirsi..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-7078074756123611033?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/7078074756123611033/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=7078074756123611033' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7078074756123611033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/7078074756123611033'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2008/01/ed-gi-duemilaotto.html' title='..ed è già duemilaeotto'/><author><name>Shatsar</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-855782704353028950.post-1436357189388659872</id><published>2007-12-19T10:05:00.000+01:00</published><updated>2007-12-19T10:38:28.433+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='annunci'/><category scheme='http://www.blogger.com/atom/ns#' term='sztreeview'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><title type='text'>Nuovo progetto su sourceforge: szTreeView</title><content type='html'>In questi giorni, io ed un mio amico, stiamo preparando un nuovo progetto sf. E' il lavoro che abbiamo fatto per l'esame di Sistemi Distribuiti (che mi è valso un 30L ed una collaborazione di 6 mesi in università..). &lt;br /&gt;&lt;br /&gt;Il risultato finale è piuttosto difficile da spiegare in poche parole, ma ci proverò lo stesso, senza entrare troppo nei dettagli: una libreria javascript per gestire strutture dati ad albero con metodi per accedere alla struttura e modificarla (getNode, openNode, addNode, removeNode ..)in "java style". Infatti abbiamo cercato di imitare la struttura degli alberi java, prevedendo per esempio la presenza di uno UserObject associato ad ogni nodo. &lt;br /&gt;L'albero inoltre è in grado di usare una libreria ajax (ajaxLoader, scritta ad hoc) per caricare il sottoalbero e notificare eventuali modifiche effettuate dall'utente. Altra caratteristica importante è la possibilità di rappresentare e tenere allineate una struttura dati java lato server con la visualizzazione javascript lato client (condivisa tra più utenti).&lt;br /&gt;&lt;br /&gt;E qua si arriva al problema grosso: gestire le modifiche in ambiente distribuito. La soluzione è la seguente: come ogni sistema di controllo di versione non facciamo altro che affidarci ad un revisionNumber incrementale; visto che su http non è prevista l'opzione 'push' (con il server che avvisa di sua spontanea volontà il client) abbiamo implementato gli altri modi possibili: il polling e la notifica dei cambiamenti al momento della risposta di un messaggio del client.&lt;br /&gt;&lt;br /&gt;Abbiamo inoltre preparato diverse classi java atte alla gestione dell'albero e degli accessi in modifica. Per cui esistono classi base da estendere e interfacce da implementare per poter adattare la libreria alla propria situazione: per esempio in alcuni casi la struttura ad albero deriva da query ricorsive su database piuttosto che da un file xml o altro&lt;br /&gt;&lt;br /&gt;Nel package trovano posto anche delle taglib JSP per velocizzare la stesura delle pagine jsp che utilizzano questa libreria.&lt;br /&gt;&lt;br /&gt;Il nome del progetto originariamente era jsTreeView, che su sourceforge è già presente, per cui abbiamo usato le iniziali dei nostri cognomi.. per cui il risultato è &lt;a href="http://sourceforge.net/projects/sztreeview/"&gt;szTreeView&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Vista la dimensione che ha raggiunto, è un progetto a cui teniamo molto, per cui spero di riuscire a dedicargli abbastanza tempo da tenerlo vivo ed utilizzabile. A breve il primo commit e se qualcuno ha intenzione di utilizzarlo mi contatti senza problemi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1436357189388659872?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1436357189388659872/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1436357189388659872' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1436357189388659872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1436357189388659872'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/12/nuovo-progetto-su-sourceforge.html' title='Nuovo progetto su sourceforge: szTreeView'/><author><name>Shatsar</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-855782704353028950.post-3098598354768986356</id><published>2007-12-17T17:06:00.000+01:00</published><updated>2007-12-17T17:11:53.707+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='u4j2rsf'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><title type='text'>u4j2rsf: First Commit</title><content type='html'>Ho finalmente effettuato il primo commit su svn del mio progetto.&lt;br /&gt;A causa di una leggera forma di influenza sono rimasto decisamente indietro. Ho cominciato a committare più che altro perchè mi serve poter accedere da più computer (per ora sviluppavo questo progetto sul portatile, che sta letteralmente cadendo a pezzi), ed un ottimo sistema di controllo di versione è la cosa ideale.&lt;br /&gt;&lt;br /&gt;il fatto che automaticamte il repository sia pronto rende tutto più semplice: infatti non dovendo fare l'svn import, per iniziare a sparare i sorgenti su sf, non ho dovuto fare altro che:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;svn co https://u4j2rsf.svn.sourceforge.net/svnroot/u4j2rsf u4j2rsf&lt;br /&gt;mkdir trunk&lt;br /&gt;[ aggiunta di tutti i miei file dentro questa cartella ]&lt;br /&gt;svn add trunk&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ora ricreo il progetto eclipse, setto i vari svn:ignore ed è tutto pronto :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-3098598354768986356?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/3098598354768986356/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=3098598354768986356' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3098598354768986356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/3098598354768986356'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/12/u4j2rsf-first-commit.html' title='u4j2rsf: First Commit'/><author><name>Shatsar</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-855782704353028950.post-530968086434315818</id><published>2007-12-10T15:00:00.000+01:00</published><updated>2007-12-10T14:28:21.128+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consigli'/><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><title type='text'>L'importanza di loggare</title><content type='html'>Visto che sto cercando il modo migliore per utilizzare il package java.util.logging (JUL) per il mio progetto u4j2rsf, spendo due secondi per sottolineare l'importanza di usare una infrastruttura di logging all'interno delle applicazioni. &lt;br /&gt;&lt;br /&gt;Da tempo ormai uso log4j per java e devo dire che mi trovo davvero bene. Ho usato anche commons logging ed ora sto provando ad usare direttamente il package JUL, già incluso nella jdk.&lt;br /&gt;&lt;br /&gt;Il concetto alla base è il seguente: nel codice inserisco dei comandi di questo framework per tracciarne l'esecuzione e verificare il contenuto degli oggetti o delle variabili centrali su cui si  svolge l'esecuzione del programma.&lt;br /&gt;&lt;br /&gt;Questi comandi definiscono una priorità, per esempio log4j ha trace, debug, info, warning, error e critical, il JUL usa altri termini: finest, finer, fine, config info, warning e severe, ma il concetto è lo stesso. &lt;br /&gt;In base ad un file di configurazione, posso decidere fino a quali messaggi stampare, per cui in fase di sviluppo vorrò leggere almeno i debug, se non proprio i trace, mentre in produzione posso limitarmi ai warning, in caso di problemi posso abbassare la priorità e monitorare meglio i file di log.&lt;br /&gt;&lt;br /&gt;Ma ovviamente non finisce qui la questione: posso definire diverse destinazioni per i log. Per esempio posso stamparli in console, su file o addirittura (log4j) spedirli via mail.&lt;br /&gt;&lt;br /&gt;Framework del genere esistono per tutti i linguaggi (pure javascript, per intenderci..), non appesantiscono più di tanto l'esecuzione del programma ma rendono la fase di debug meno stressante e, secondo me, l'attività di log è un fattore importante per valutare la qualità di un software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-530968086434315818?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/530968086434315818/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=530968086434315818' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/530968086434315818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/530968086434315818'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/12/limportanza-di-loggare.html' title='L&apos;importanza di loggare'/><author><name>Shatsar</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-855782704353028950.post-1331234938442007146</id><published>2007-12-08T17:39:00.000+01:00</published><updated>2007-12-08T17:55:39.868+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programmazione'/><category scheme='http://www.blogger.com/atom/ns#' term='web service'/><title type='text'>WebService per cambio valute</title><content type='html'>Io adoro i &lt;a target="_BLANK" href="http://it.wikipedia.org/wiki/Web_service"&gt;web service.&lt;/a&gt; L'idea che Internet venga usato come rete di servizi invece che rete di informazioni la trovo interessante. &lt;br /&gt;E non per niente, su questo argomento, ci ho fatto la tesi della laurea di primo livello.&lt;br /&gt;&lt;br /&gt;Ed ora, dopo tre anni, mi trovo ad usarli per la prima volta in ambito lavorativo. Altri progetti in cui avevo proposto di utilizzarli non sono mai partiti. Invece ora devo accedere al più classico dei web service: il cambio di valuta.&lt;br /&gt;&lt;br /&gt;Dopo un po' di giri per la rete ecco qui quello che fa al caso mio: &lt;a target="_BLANK" href="http://www.webservicex.net/WS/WSDetails.aspx?CATID=2&amp;WSID=10"&gt; http://www.webservicex.net/WS/WSDetails.aspx?CATID=2&amp;WSID=10&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;c'è anche, ovviamente, il link al descrittore del webservice: il WSDL. &lt;br /&gt;&lt;br /&gt;In pochi step riesco ad accedervi dal mio codice java:&lt;br /&gt;- scaricare &lt;a target="_BLANK" href="http://ws.apache.org/axis/"&gt;apache axis&lt;/a&gt;&lt;br /&gt;- dare in pasto il descrittore a WSDL2Java, che genera classi java per accedere al web service lì descritto:  java org.apache.axis.wsdl.WSDL2Java http://www.webservicex.net/CurrencyConvertor.asmx?WSDL (dopo aver messo i jar di axis nel classpath)&lt;br /&gt;- importare le classi generate nel mio progetto&lt;br /&gt;- utilizzare le classi:&lt;br /&gt;&lt;br /&gt;CurrencyConvertor convertor = new CurrencyConvertorLocator();&lt;br /&gt;double rate = convertor.getCurrencyConvertorSoap().conversionRate(Currency.EUR, Currency.USD);&lt;br /&gt;&lt;br /&gt;Ed il gioco è fatto: attraverso il contenuto del WSDL, axis ha generato il metodo conversionRate che effettua (su un protocollo condiviso in formato xml, SOAP) la chiamata "ConversionRate" al webservice passandogli due Currency come parametri, e ricevendo come risposta un double.&lt;br /&gt;&lt;br /&gt;In questo modo io non so com'è la logica dietro all'esecuzione del metodo, ma so che ci posso accedere tranquillamente ed essendo tutto basato su XML, ho l'interoperabilità tra linguaggi, per cui, per esempio, posso scrivere un web service in Java ed accedervi da Perl.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-1331234938442007146?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/1331234938442007146/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=1331234938442007146' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1331234938442007146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/1331234938442007146'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/12/webservice-per-cambio-valute.html' title='WebService per cambio valute'/><author><name>Shatsar</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-855782704353028950.post-6725348140813138002</id><published>2007-12-07T12:42:00.000+01:00</published><updated>2007-12-07T12:52:25.013+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='annunci'/><category scheme='http://www.blogger.com/atom/ns#' term='u4j2rsf'/><category scheme='http://www.blogger.com/atom/ns#' term='armin'/><category scheme='http://www.blogger.com/atom/ns#' term='progetti'/><title type='text'>Nuovo progetto su sourceforge: u4j2rsf</title><content type='html'>La mia latitanza dal blog, anzi da internet in generale, attualmente è dovuta ad un progetto che mi serve per un esame: &lt;a href="http://sourceforge.net/projects/u4j2rsf/"&gt;u4j2rsf&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Praticamente: visto che non si è trovato un modo per tradurre i report generati da &lt;a target="_BLANK" href="http://www.scitools.com/uj.html"&gt;Understand for Java&lt;/a&gt; al formato Rigi Standard Format necessario ad ARMIN, ho deciso di provare a scriverne uno. &lt;br /&gt;&lt;br /&gt;Mi sono appoggiato a sourceforge per poter avere una serie di strumenti necessari a me e a chi dovrà usare il software in futuro, per segnalare bug, fornire documentazione e seguire l'andamento dello sviluppo.&lt;br /&gt;&lt;br /&gt;Ed ho scelto sourceforge ovviamente perchè credo nel software libero e sono sicuro che questo sarà solo il primo mio contributo alla causa. Ben presto, infatti, arriverà anche la libreria javascript per la gestione di strutture dati ad albero, a cui ho dedicato un sacco di tempo e di cui vi parlerò un'altra volta..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6725348140813138002?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6725348140813138002/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6725348140813138002' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6725348140813138002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6725348140813138002'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/12/nuovo-progetto-su-sourceforge-u4j2rsf.html' title='Nuovo progetto su sourceforge: u4j2rsf'/><author><name>Shatsar</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-855782704353028950.post-2103364088356907584</id><published>2007-11-28T12:33:00.000+01:00</published><updated>2007-11-28T12:52:31.186+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='university'/><category scheme='http://www.blogger.com/atom/ns#' term='armin'/><title type='text'>ARMIN: Architecture Reconstruction and Mining 2</title><content type='html'>Le mie avventure con armin procedono meglio di quanto potesse sembrare al momento del &lt;a target="_blank" href="http://shatsar.blogspot.com/2007/10/armin-architecture-reconstruction-and.html"&gt;&lt;br /&gt;primo post a riguardo&lt;/a&gt;. Per cui l'obiettivo è dare l'esame entro due settimane.&lt;br /&gt;&lt;br /&gt;Comunque la cosa che trovo al momento più interessante è il fatto che questo strumento si appoggi a due file (semplici file di testo, per fortuna) distinti per compiere il suo lavoro. &lt;br /&gt;Il primo file è uno schema, una definizione di relazioni per cui, potenzialmente, ne possiamo aggiungere ad oltranza per spiegare meglio i rapporti tra i vari componenti di un'architettura software.&lt;br /&gt;Il secondo è un file generato attraverso un parser: il rigi. E' interessante notare la semplicità del report del rigiparse che consiste in un file di testo con 3 colonne: &lt;relazione&gt; &lt;obj1&gt; &lt;obj2&gt;; per cui se la funzione fkt3 accede alla variabile var3 nel file .rsf (Rigi Standard Format) trovo:&lt;br /&gt;&lt;br /&gt;accesses fkt3 var3&lt;br /&gt;&lt;br /&gt;Riga che verrà correttamente interpretata da ARMIN grazie alla presenza nel file .txt di schema della riga: &lt;br /&gt;&lt;br /&gt;accesses, function, variable&lt;br /&gt;&lt;br /&gt;che definisce la relazione accesses. &lt;br /&gt;A questo punto credo che il grosso lavoro "concettuale" sia fatto dal parser, che deve tracciare la presenza e l'utilizzo delle funzioni e delle variabili, mentre ARMIN si occupa di raccogliere queste informazioni, collegarle e renderle visualizzabili.&lt;br /&gt;&lt;br /&gt;Resta il dubbio sull'utilizzo del package borland.. appena ho tempo indagherò bene sulle funzioni di quelle classi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-2103364088356907584?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/2103364088356907584/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=2103364088356907584' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2103364088356907584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/2103364088356907584'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/11/armin-architecture-reconstruction-and.html' title='ARMIN: Architecture Reconstruction and Mining 2'/><author><name>Shatsar</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-855782704353028950.post-4668422531975065331</id><published>2007-11-19T17:46:00.000+01:00</published><updated>2007-11-19T18:08:58.141+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tool'/><title type='text'>mtr - a network diagnostic tool</title><content type='html'>Visto che per l'ennesima volta stavo monitorando la mia adsl con questo tool, ho deciso di dedicare qualche riga a &lt;a href="http://www.bitwizard.nl/mtr/"&gt;mtr&lt;/a&gt;, un tool pratico e leggero per analizzare la situazione della rete, nel caso qualcuno non l'avesse mai sentito.&lt;br /&gt;&lt;br /&gt;Premessa:la mia fottutissima linea VOIP ha un sacco di problemi.&lt;br /&gt;Quando mi chiamano a casa, c'è una buona probabilità che la linea cada nei primi 5 secondi (giusto il tempo di capire chi chiama). Se invece si passa indenne questa prima fase, si può parlare all'infinito. Questo capita soprattutto durante il giorno ed, usando mtr, coincide con un alto ping tra il mio gateway voip ed il primo hop. &lt;br /&gt;Perdere 200/300 millisecondi tra casa mia e la centralina di riferimento non mi sembra ottimale.. Mentre la sera questa latenza scende ad un valore più accettabile (ma comunque alto) di 85-120. &lt;br /&gt;Vabbè, arrivo al dunque: questo tool è semplice da usare e vi elenco i parametri più comuni:&lt;br /&gt;mtr &amp;lt;opzioni&amp;gt; &amp;lt;nome-host&amp;gt;&lt;br /&gt;dove le &amp;lt;opzioni&amp;gt; possono essere:&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;-c &amp;lt;count&amp;gt;&lt;/span&gt;: manda &amp;lt;count&amp;gt; pacchetti su cui fa una breve statistica (min, max, avg e deviazione standard)&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;-r&lt;/span&gt;: modalità report: in combinazione con -c stampa i risultati dopo &lt;count&gt; pacchetti&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;--interval &amp;lt;seconds&amp;gt;&lt;/span&gt;: attesa in secondi tra un pinh e l'altro&lt;br /&gt;* &lt;span style="font-weight:bold;"&gt;--no-dns&lt;/span&gt; per non risolvere gli hostname ma lasciare gli indirizzi ip&lt;br /&gt;&lt;br /&gt;quindi per dare un'occhiata rapida allo stato della rete:&lt;br /&gt;mtr -c 5 -r www.debian.org&lt;br /&gt;&lt;br /&gt;per mandare invece pacchetti fino all'interruzione con control-c:&lt;br /&gt;mtr www.debian.org&lt;br /&gt;&lt;br /&gt;Sinceramente secondo me ci sarebbero delle migliorie da fare, del tipo al control-c stampare il report, perchè allo stato attuale lanciare mtr -r www.debian.org non ha alcun senso..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4668422531975065331?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4668422531975065331/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4668422531975065331' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4668422531975065331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4668422531975065331'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/11/mtr-network-diagnostic-tool.html' title='mtr - a network diagnostic tool'/><author><name>Shatsar</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-855782704353028950.post-6846828237594661595</id><published>2007-11-11T15:59:00.000+01:00</published><updated>2007-11-11T16:04:33.413+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='university'/><category scheme='http://www.blogger.com/atom/ns#' term='saggezza'/><title type='text'>Il calcolo parallelo</title><content type='html'>Nonostante l'esame di domani (uno degli ultimi dannatissimi 4 esami che mi mancano), spendo qualche minuto per citare una definizione di calcolo parallelo data dal mio docente sulle slide del corso. &lt;br /&gt;&lt;br /&gt;Non so se è farina del suo sacco o è a sua volta una citazione, ma è sicuramente di grande effetto..  e mi ha colpito, anche se forse ci sarebbero da aggiungere delle precisazioni.. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Il calcolo parallelo è un tentativo di massimizzare quella risorsa infinita ma apparentemente scarsa chiamata tempo.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;spettacolo :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-6846828237594661595?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/6846828237594661595/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=6846828237594661595' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6846828237594661595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/6846828237594661595'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/11/il-calcolo-parallelo.html' title='Il calcolo parallelo'/><author><name>Shatsar</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-855782704353028950.post-4362576732948766491</id><published>2007-11-02T19:08:00.000+01:00</published><updated>2007-11-02T19:34:50.675+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='appunti'/><category scheme='http://www.blogger.com/atom/ns#' term='tesi'/><title type='text'>Funzionamento CDT part2</title><content type='html'>Un punto da chiarire che ho tralasciato nel post precedente è che CDT &lt;span style="font-weight:bold;"&gt;non&lt;/span&gt; è un compilatore, ma un ambiente di sviluppo, un IDE, a sua volta incluso in un IDE, Eclipse. Le operazioni che esegue sono quindi finalizzate a supportare l'utente nella stesura del codice e non alla creazione di eseguibili. &lt;br /&gt;&lt;br /&gt;Per far questo fornisce al programmatore un aiuto considerevole in fase di sviluppo grazie principalmente a tre caratteristiche: la ricerca, la navigazione nel codice (ricreando una outline per raggiungere e organizzare alcuni punti salienti del file sorgente) ed il content assist (cioè fornisce suggerimenti legati al contesto).&lt;br /&gt;Per raggiungere questo obiettivo, puntando anche a mantenere alte le prestazioni, si è resa necessaria la stesura di una serie di componenti atti all'analisi del codice, attività che si svolge in due macro fasi: Scanning/Preprocessing e Parsing (&lt;a href="http://shatsar.blogspot.com/2007/08/funzionamento-cdt-part1.html"&gt;vedi questo post&lt;/a&gt;) .&lt;br /&gt;&lt;br /&gt;Altro nodo centrale è la compatibilità tra compilatori. Infatti esistono innumerevoli compilatori C, ognuno con supporto a diverse caratteristiche e con diverse estensioni che li rendono generalmente incompatibili. L'obiettivo di CDT è di effettuare in modo ottimale il parse per del codice da compilare con GCC, il Gnu C Compiler.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/855782704353028950-4362576732948766491?l=shatsar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shatsar.blogspot.com/feeds/4362576732948766491/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=855782704353028950&amp;postID=4362576732948766491' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4362576732948766491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/855782704353028950/posts/default/4362576732948766491'/><link rel='alternate' type='text/html' href='http://shatsar.blogspot.com/2007/11/funzionamento-cdt-part2.html' title='Funzionamento CDT part2'/><author><name>Shatsar</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></feed>
