<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;CkIHSX85fip7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-23968415</id><updated>2011-11-28T01:35:38.126+01:00</updated><category term="apache" /><category term="linux" /><category term="dwh" /><category term="utility visio database" /><category term="cloud computing" /><category term="java" /><category term="utility desktop icons windows vista" /><category term="ec2" /><category term="aix linux" /><category term="aix" /><category term="oracle" /><category term="hadoop" /><category term="amazon" /><category term="web 2.0" /><category term="unix" /><category term="cazzeggio" /><category term="oracle dwh integration" /><category term="web service" /><category term="internet" /><category term="projectmanagement" /><category term="hive" /><category term="performance" /><category term="sicurezza" /><category term="mashup" /><category term="aws" /><category term="openworld08" /><category term="datawarehouse" /><category term="google" /><title>Andrea Tech Blog</title><subtitle type="html">Oracle, Linux, Internet, Web 2.0, Unix, Performance Tuning, etc. etc.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AndreaTechBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="andreatechblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FAndreaTechBlog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FAndreaTechBlog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FAndreaTechBlog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><entry gd:etag="W/&quot;DkABRHk-fSp7ImA9WxBWF04.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-2023464069983479304</id><published>2010-02-09T17:46:00.004+01:00</published><updated>2010-02-09T17:59:15.755+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-09T17:59:15.755+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hive" /><category scheme="http://www.blogger.com/atom/ns#" term="amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="datawarehouse" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud computing" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><category scheme="http://www.blogger.com/atom/ns#" term="hadoop" /><category scheme="http://www.blogger.com/atom/ns#" term="dwh" /><title>HIVE: Extreme Datawarehousing</title><content type="html">&lt;p class="MsoNormal"&gt;&lt;a href="http://wiki.apache.org/hadoop/Hive"&gt;HIVE&lt;/a&gt; è un progetto di Apache Software Foundation, inizialmente sviluppato da Facebook per permettere ai propri analisti di fare elaborazioni su enormi volumi di dati in totale autonomia.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;HIVE è un’infrastruttura di Data Ware Housing che permette di memorizzare dati ed effettuare query in un linguaggio simile ad SQL. Hive utilizza un’infrastruttura per la distribuzione dello storage e delle elaborazioni chiamata &lt;a href="http://wiki.apache.org/hadoop/"&gt;Hadoop&lt;/a&gt; (che è un’implementazione di &lt;a href="http://en.wikipedia.org/wiki/MapReduce"&gt;MapReduce&lt;/a&gt;), che permette di distribuire la memorizzazione dei dati e delle elaborazioni su un cluster di macchine eterogenee a basso costo.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Per fare un esempio pratico, Facebook raccoglie oltre 2TB di dati (compressi) al giorno utili all’analisi. La memorizzazione avviene su un cluster enorme (migliaia di nodi) di macchine relativamente semplici (es. 2 CPU, 4 GB Di RAM, 2TB di disco, ovvero macchine che costano circa 1000$).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;HIVE permette di fare query su tale volume di dati, distribuendo automaticamente il carico sul cluster, e senza dover scrivere del codice, ma solamente utilizzando un linguaggio molto simile a SQL (cosa abbastanza diffusa tra gli analisti). Sempre per tornare a Facebook, gli analisti di Facebook possono fare query ad hoc su Petabyte di dati, senza dover avere uno skill da programmatore.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Un altro elemento interessante è che HIVE è offerto anche on-the-cloud (da Amazon, per esempio, con il servizio &lt;a href="http://aws.amazon.com/elasticmapreduce/"&gt;Elastic MapReduce&lt;/a&gt;), permettendo quindi la possibilità di usare un cluster Hadoop con un costo a consumo (magari solo un giorno al mese ho bisogno di un cluster di 100 nodi per fare una query su 1 Petabyte di dati). &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Per dimostrare le potenzialità di questo strumento, ho convertito in HIVE una query che viene oggi eseguita su un database Oracle per la costruzione di un Data Mart. Sul database Oracle la query impiega circa 10 ore ad essere risolta: è una query piuttosto complessa che coinvolge centinaia di milioni di record. Il database Oracle è installato su una macchina configurata con 4CPU, 24GB RAM e uno Storage SCSI.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ho quindi lanciato la stessa query convertita nel linguaggio di HIVE, su un cluster Hadoop di Amazon aumentando progressivamente i nodi a disposizione. E’ stato interessante notare che la velocità di esecuzione della query è inversamente proporzionale al numero di nodi. Ovvero: con 1 nodo la query veniva risolta in 20 ore, con 2 nodi in 10 ore, e così via.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ma la cosa però secondo me più interessante è che il costo per risolvere la query è indipendente dalla velocità con cui la si vuole risolta. Mi spiego meglio: su Amazon si pagano le ore di utilizzo delle macchine virtuali. Affittare quindi una macchina per 20 ore equivale ad affittare due macchine per 10 ore. Ma avendo a disposizione un cluster di due macchine, con HIVE posso risolvere la query al doppio della velocità, mantenendo il costo costante!&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zcxvBdtZQFg/S3GRt9mbrJI/AAAAAAAAAJM/1bHSQzlRQ5k/s1600-h/costi_hive.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 190px;" src="http://2.bp.blogspot.com/_zcxvBdtZQFg/S3GRt9mbrJI/AAAAAAAAAJM/1bHSQzlRQ5k/s320/costi_hive.gif" alt="" id="BLOGGER_PHOTO_ID_5436286444028800146" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-2023464069983479304?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/2023464069983479304/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=2023464069983479304" title="1 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/2023464069983479304?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/2023464069983479304?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2010/02/hive-extreme-datawarehousing.html" title="HIVE: Extreme Datawarehousing" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_zcxvBdtZQFg/S3GRt9mbrJI/AAAAAAAAAJM/1bHSQzlRQ5k/s72-c/costi_hive.gif" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkcEQHc-fyp7ImA9WxNWFE8.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-9018705371312793444</id><published>2009-10-13T09:34:00.003+02:00</published><updated>2009-10-13T09:46:41.957+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T09:46:41.957+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="utility visio database" /><title>Orthogonal Toolbox: esportare un diagramma Entity Relationship da Visio</title><content type="html">Io adoro Visio. Permette di fare grafici di tipologie molto diverse... flowchart, DFD, mappe di interni di edifici, diagrammi di rete, diagrammi di schedulazione, diagrammi entity relationship, etc.&lt;br /&gt;&lt;br /&gt;Per ognuno di questi grafici sono sicuro che esista un tool migliore di Visio. Ma il fatto di poter fare tutti questi tipi di grafici da un solo programma è un gran vantaggio.&lt;br /&gt;&lt;br /&gt;Una delle grosse limitazioni che ho incontrato più volte riguarda proprio i diagrammi Entity Relationship. Non è possibile da un ER esportare i dati in codice SQL, o in un qualunque formato che non sia grafico. Non è nemmeno possibile esportare l'elenco delle colonne di una tabella in un file excel.&lt;br /&gt;&lt;br /&gt;Dovrebbe essere possibile farlo da Visio for Enterprise Architect. Ma non ho mai avuto la possibilità di vedere questa versione del prodotto. Credo non sia molto diffusa.&lt;br /&gt;&lt;br /&gt;Ho trovato un tool fenomenale che si aggancia a Visio e fa abbastanza quello che voglio. Si chiama &lt;a href="http://www.orthogonalsoftware.com/toolboxinstallation.html"&gt;Orthogonal Toolbox&lt;/a&gt;. Questo strumento permette di esportare in XML i dati di un diagramma ER, e poi di applicare un XSD al file XML generato. Quindi è possibile esportare tutti i dettagli, e trasformarli in qualunque altro formato.&lt;br /&gt;&lt;br /&gt;A me... me piace.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-9018705371312793444?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/9018705371312793444/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=9018705371312793444" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/9018705371312793444?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/9018705371312793444?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2009/10/orthogonal-toolbox-esportare-un.html" title="Orthogonal Toolbox: esportare un diagramma Entity Relationship da Visio" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0cNRXw9fCp7ImA9WxNWFEw.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-5825737070275459201</id><published>2009-10-13T09:18:00.002+02:00</published><updated>2009-10-13T09:31:34.264+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T09:31:34.264+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="utility desktop icons windows vista" /><title>Salvare la disposizione delle icone sul desktop</title><content type="html">Per l'angolo delle utility.&lt;br /&gt;&lt;br /&gt;Spesso capita di attaccare il portatile ad un proiettore. Talvolta questa operazione provoca il cambio di risoluzione. E le icone sul desktop perdono la disposizione che con la vostra maestria avevate ritenuto essere la più produttiva, intuitiva e soprattutto concettualmente artistica.&lt;br /&gt;&lt;br /&gt;Ho scoperto da poco un semplice tool che permette di salvare la disposizione delle icone e ripristinarla in qualunque momento.&lt;br /&gt;&lt;br /&gt;Si tratta di una dll (&lt;span style="font-weight: bold;"&gt;layout.dll&lt;/span&gt;). Potete trovarla su un sacco di siti (basta cercare su google &lt;a href="http://www.google.it/search?q=layout.dll"&gt;layout.dll&lt;/a&gt;). Io l'ho scaricato da &lt;a href="http://www.howtogeek.com/howto/windows-vista/save-and-restore-desktop-icon-layout-in-windows-vista/"&gt;qui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Funziona anche con Vista!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-5825737070275459201?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/5825737070275459201/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=5825737070275459201" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5825737070275459201?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5825737070275459201?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2009/10/salvare-la-disposizione-delle-icone-sul.html" title="Salvare la disposizione delle icone sul desktop" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkIGQXg5fip7ImA9WxJREk4.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-7989176089056933641</id><published>2009-05-13T19:08:00.001+02:00</published><updated>2009-05-13T19:08:40.626+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-13T19:08:40.626+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><title>Scalabilità Infinita: elastic map reduce</title><content type="html">&lt;p&gt;Amazon ha inserito nella sua offerta di servizi Elastic MapReduce.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Per chi non conoscesse &lt;a mce_href="http://en.wikipedia.org/wiki/MapReduce" href="http://en.wikipedia.org/wiki/MapReduce"&gt;MapReduce&lt;/a&gt;, si tratta di un paradigma di programmazione, sviluppato da Google, per applicazioni di calcolo distribuito. Esempio semplice: dobbiamo applicare un algoritmo di clusterizzazione a 30 Miliardi di dati, che sul tuo pc impiega solamente 100 giorni a essere calcolato. Come fare? Semplice, dividiamo il problema in 100 sottoproblemi, lo diamo in pasto a 100 nodi del nostra server farm general-purpose, e alla fine ricomponiamo i risultati ottenuti in un unico output, in 1 giorno.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Piccolo problema, nessuno di quelli che conosco ha una server farm general-purpose con 100 nodi.&lt;/p&gt;&lt;p&gt;A questo punto arriva Amazon, che offre &lt;a mce_href="http://aws.amazon.com/elasticmapreduce/" href="http://aws.amazon.com/elasticmapreduce/"&gt;Elastic MapReduce&lt;/a&gt;, ovvero ti affitta 100 nodi per 1 giorno, e implementa già il framework hadoop, ovvero il framework che implementa MapReduce.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;A questo punto non avrà più senso dire che i tempi di elaborazione sono troppo lunghi. Semmai l'algoritmo è inefficiente. Oppure non si è stati sufficientemente smart da trovare un algoritmo che permette di suddividere il problema in sottoproblemi. In questo caso, i tempi di elaborazione dipendono solo dalla fretta del cliente: lo vuoi in un 1 giorno, affitta 100 nodi. Lo vuoi in un'ora? Affita 2400 nodi.&lt;/p&gt;&lt;p&gt;Il pensiero lineare è finito. Se pensate ancora con i cicli for e while, siete alle schede perforate.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-7989176089056933641?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/7989176089056933641/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=7989176089056933641" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7989176089056933641?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7989176089056933641?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2009/05/scalabilita-infinita-elastic-map-reduce.html" title="Scalabilità Infinita: elastic map reduce" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkUDQXY6eip7ImA9WxVUEk8.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-9011954247512663422</id><published>2009-03-16T17:59:00.004+01:00</published><updated>2009-03-16T18:24:30.812+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T18:24:30.812+01:00</app:edited><title>iPod touch jailbreak: il mio unix tascabile hacker-friendly</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.simonblog.com/wordpress/wp-content/uploads/2009/01/ipod_touch_2g_jailbreak.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 321px; height: 478px;" src="http://www.simonblog.com/wordpress/wp-content/uploads/2009/01/ipod_touch_2g_jailbreak.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Un po' di tempo fa dicevo che &lt;a href="http://andreatech.blogspot.com/2008/08/neo-freerunner-android-e-iphone-sono.html"&gt;iPhone e Android erano roba da pivelli&lt;/a&gt;, e guardavo con interesse il &lt;a href="http://wiki.openmoko.org/wiki/Neo_FreeRunner/it"&gt;Neo Freerunner&lt;/a&gt;, un cellulare touchscreen con hardware e software open source che era per me l'unico dispositivo che un vero hacker avrebbe voluto avere tra le mani.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ma visto che sono pigro e parsimonioso mi sono comprato un iPod touch 2g, che fino a una settimana fa era per me un aggeggio tecnologico incredibile, ma troppo chiuso.&lt;br /&gt;&lt;br /&gt;Finché non è uscito il jailbreak per l'iPod touch 2g, che &lt;span style="font-weight: bold;"&gt;OVVIAMENTE &lt;/span&gt;ho installato non appena possibile. Il jailbreak è un crack che permette di accedere al sistema operativo interno di iPod e iPhone e di far girare software non approvato da Apple.&lt;br /&gt;&lt;br /&gt;Fare ssh VERSO l'iPod touch è stata una vera emozione. Trovare installato apt, ovvero il package manager ereditato da Debian/GNU Linux, è stato ancora più bello.&lt;br /&gt;&lt;br /&gt;L'ipoddino così diventa lo strumento definitivo, d'altronde se hai uno Unix, un'interfaccia seriale e il wifi, puoi farci veramente tutto quello che vuoi. Come ad esempio il team di &lt;a href="http://xgps.xwaves.net/"&gt;xgps&lt;/a&gt;, che ha sviluppato un modulino hardware GPS da agganciare all'ipoddino e il software di navigazione.&lt;br /&gt;&lt;br /&gt;D'altronde, se non puoi modificare il tuo device per controllare l'accensione del microonde via webservice, che device inutile è?! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-9011954247512663422?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/9011954247512663422/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=9011954247512663422" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/9011954247512663422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/9011954247512663422?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2009/03/ipod-touch-jailbreak-il-mio-unix.html" title="iPod touch jailbreak: il mio unix tascabile hacker-friendly" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0QMRHY7eSp7ImA9WxRVEEg.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-2854551272348027377</id><published>2008-11-07T11:51:00.002+01:00</published><updated>2008-11-07T11:56:25.801+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-07T11:56:25.801+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="ec2" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><title>Amazon EC2 news</title><content type="html">Amazon annuncia importanti novità per gli AWS:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;gli &lt;a href="http://aws.amazon.com/ec2-sla/"&gt;SLA su EC2&lt;/a&gt;: finalmente si potranno usare le macchine EC2 per offerte su servizi che richiedono un livello di disponibilità&lt;br /&gt;&lt;/li&gt;&lt;li&gt;la disponibilità di macchine sul servizio &lt;a href="http://aws.amazon.com/windows/"&gt;EC2 con Windows Server 2003&lt;/a&gt;, e volendo anche con Microsoft SQL Server preinstallato&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;E i server chi se li compra più?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-2854551272348027377?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/2854551272348027377/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=2854551272348027377" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/2854551272348027377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/2854551272348027377?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/11/amazon-ec2-news.html" title="Amazon EC2 news" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEcDSHs7eSp7ImA9WxRQFUk.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-6146939260481063315</id><published>2008-10-09T10:43:00.003+02:00</published><updated>2008-10-09T10:47:59.501+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-09T10:47:59.501+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="ec2" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Oracle Cloud Computing</title><content type="html">&lt;a href="http://www.oracle.com/technology/tech/cloud/index.html"&gt;Le risposte alle mie domande circa Oracle e Cloud Computing&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-6146939260481063315?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/6146939260481063315/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=6146939260481063315" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/6146939260481063315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/6146939260481063315?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/10/oracle-cloud-computing.html" title="Oracle Cloud Computing" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkcCQ3o9eCp7ImA9WxRQEE8.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-8665920736010507516</id><published>2008-10-02T22:41:00.006+02:00</published><updated>2008-10-03T10:54:22.460+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-03T10:54:22.460+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="openworld08" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Oracle Open World 2008</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zcxvBdtZQFg/SOU-J4KwVaI/AAAAAAAAAGg/PHL9yjQ77aE/s1600-h/IMG_2708.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_zcxvBdtZQFg/SOU-J4KwVaI/AAAAAAAAAGg/PHL9yjQ77aE/s320/IMG_2708.JPG" alt="" id="BLOGGER_PHOTO_ID_5252672879814792610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Ho avuto la possibilità di partecipare ad &lt;a href="http://www.oracle.com/openworld/2008/index.html"&gt;Oracle Open World 2008&lt;/a&gt; a San Francisco. E' stata un'esperienza entusiasmante.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;La città è fantastica, non ci ero mai stato, ed è stata un'occasione unica per fare anche un po' di turismo. Ospita una varietà di persone incredibile, ha il clima perfetto, ha dei bei parchi e vanno tutti in bici nonostante le ripide colline. Insomma, un posto dove varrebbe la pena viverci, almeno per un po'. L'unica cosa deprimente sono gli homeless: mi ha fatto molto effetto vedere così tanta povertà in una nazione così ricca.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;E poi c'era l'Open World. Un evento grandioso, con 40.000 visitatori, organizzato alla perfezione. Sembrava quasi di stare nel periodo delle olimpiadi di Torino.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Le principali novità presentate da Oracle sono state Beehive ed Exadata. &lt;a href="http://www.oracle.com/technology/products/beehive/index.html"&gt;Beehive&lt;/a&gt; è uno strumento collaborativo, che si integra con altri strumenti sia lato server (es. Microsoft Exchange) sia client (es. Outlook). Rispetto agli strumenti nativi offre funzionalità ulteriori, come la condivisione di file, un sistema di gestione della sicurezza dei contenuti, una webconference e altro. Sinceramente non mi ha molto impressionato. Ho ancora in mente Oracle Collaboration Suite e Beehive sembra un remake. Inoltre temo che non abbia detto nessuno ad Oracle chi erano i &lt;a href="http://it.wikipedia.org/wiki/Bee_Hive"&gt;Beehive &lt;/a&gt;in Italia.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.oracle.com/features/hp/exadata.html"&gt;Exadata &lt;/a&gt;invece è la Database Machine sviluppata da Oracle e HP. Hardware dedicato e un database Oracle dedicato per avere performance strabilianti. Un sistema interessante, ma poco probabile presso la maggior parte delle realtà in cui ho avuto modo di lavorare. Il database, sebbene sia Oracle, credo che avrà delle particolarità: credo che le applicazioni dovranno essere appositamente customizzate per questa piattaforma. Inoltre il costo di ingresso non è indifferente (2M $), anche se le promesse sono veramente eccezionali in termini di aumento delle performance e di riduzione dei costi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oltre a questo si è parlato delle centinaia di applicazioni che fanno ormai parte del catalogo Oracle a seguito delle svariate acquisizioni. La sensazione è che ci sia un po' di confusione. Molte applicazioni si sovrappongono e le roadmap di integrazione sono proiettate nei prossimi anni!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ha stimolato la mia curiosità invece tutto il mondo ereditato da BEA. Non si tratta solo di un middleware nuovo, ma probabilmente anche di un nuovo approccio. Tecnologicamente le novità sembrano riguardare soprattutto l'ambito dei servizi, dell'orchestrazione e di tutto quanto è a corollario. Mi piacerebbe avere il tempo di studiare tutte queste novità.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Infine ho prestato particolare attenzione alle sessioni che riguardavano il Cloud Computing e MDM.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Del Cloud Computing (&lt;a href="http://aws.amazon.com/"&gt;Amazon Web Service&lt;/a&gt;) ne parlano un po' tutti, ma spesso senza sapere bene di cosa si tratti. L'impressione è che il mercato non è ancora pronto, forse ancora complice il fatto che Amazon non garantisce SLA su nessun servizio (tranne S3). L'attuale posizione di Oracle è che Oracle DB è supportato su Amazon EC2 (e ovviamente sono contenti di chiedervi i soldi delle licenze). Inoltre stanno pianificando la possibilità di offrire dei servizi preconfezionati ai clienti, ma per ora è solo fuffa. L'unica cosa concreta è la libreria di integrazione con RMAN per fare i backup dei database su S3. E anche per questo c'è un costo di licenza non indifferente, in piena tradizione Oracle :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Infine Master Data Management (che è il mio pane da un paio d'anni). Anche qui, se ne parla veramente tanto. Le sessioni sull'argomento erano moltissime, ma l'impressione è che sia veramente un tema troppo complesso e articolato, tale da richiedere implementazioni molto customizzate per ciascuna realtà. Gli elementi di base sono sempre comuni (strumenti di data quality, data enrichment, normalizzazione, data integration, omogeneizzazione delle interfacce), ma soprattutto è un territorio in cui è fondamentale avere una approfondita conoscenza ed esperienza delle molteplici tematiche che si andranno ad affrontare. MDM è veramente un mondo complicato.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-8665920736010507516?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/8665920736010507516/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=8665920736010507516" title="1 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8665920736010507516?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8665920736010507516?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/10/oracle-open-world-2008.html" title="Oracle Open World 2008" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_zcxvBdtZQFg/SOU-J4KwVaI/AAAAAAAAAGg/PHL9yjQ77aE/s72-c/IMG_2708.JPG" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CU4GRXc8eSp7ImA9WxRSF0g.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-5598228030407252838</id><published>2008-09-18T16:52:00.008+02:00</published><updated>2008-09-18T18:05:24.971+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-18T18:05:24.971+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>ORA-03297: file contains used data beyond requested RESIZE value</title><content type="html">&lt;span class="Apple-style-span"  style="font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;A volte i tablespace crescono a dismisura, e quando bisogna ridimensionarli può succedere che siano troppo frammentati e per questo si verifica l'errore ORA-03297.&lt;br /&gt;&lt;br /&gt;In questo caso la soluzione è quella di spostare tutti gli oggetti su un altro tablespace, ridimensionare i datafile alla dimensione opportuna e quindi rispostare gli oggetti.&lt;br /&gt;Oppure una soluzione sub-optimale è quella di ricostruire gli oggetti sul medesimo tablespace (senza quindi la necessità di creare un tablespace d'appoggio temporaneo).&lt;br /&gt;Al termine di tutto questo trasloco è bene ricompilare tutti gli oggetti invalidi.&lt;br /&gt;&lt;br /&gt;Ad ogni modo, per spostare tra un tablespace e un altro i vari oggetti, io uso le seguenti meta-query.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spostare gli indici&lt;/span&gt;&lt;br /&gt;select 'alter index '||owner||'.'||segment_name||' rebuild tablespace &lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;;'&lt;br /&gt;from dba_segments where tablespace_name = '&lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;' and segment_type='INDEX' order by segment_name;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spostare le partizioni degli indici partizionati&lt;/span&gt;&lt;br /&gt;select 'alter index '||owner||'.'||segment_name||' rebuild partition '||partition_name||' tablespace &lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;;' from dba_segments where tablespace_name = '&lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;' and segment_type='INDEX PARTITION' order by segment_name;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spostare le tabelle&lt;/span&gt;&lt;br /&gt;select 'alter table '||owner||'.'||segment_name||' move tablespace &lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;;' from dba_segments where tablespace_name = '&lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;' and segment_type='TABLE' order by segment_name;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Spostare le partizioni delle tabelle partizionate&lt;/span&gt;&lt;br /&gt;select 'alter table '||owner||'.'||segment_name||' move partition '||partition_name||' tablespace &lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;;'&lt;br /&gt;from dba_segments where tablespace_name = '&lt;span style="font-weight: bold; font-style: italic;"&gt;miotablespace&lt;/span&gt;' and segment_type='TABLE PARTITION' order by segment_name;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-5598228030407252838?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/5598228030407252838/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=5598228030407252838" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5598228030407252838?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5598228030407252838?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/09/ora-03297-file-contains-used-data.html" title="ORA-03297: file contains used data beyond requested RESIZE value" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEAGQ348fCp7ImA9WxRTE0U.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-65875923280072019</id><published>2008-09-02T21:54:00.003+02:00</published><updated>2008-09-02T22:18:42.074+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-02T22:18:42.074+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><category scheme="http://www.blogger.com/atom/ns#" term="cazzeggio" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>Rivoluzione: Google Chrome</title><content type="html">Ops, &lt;a href="http://www.google.com/chrome"&gt;Google ha pronto un browser strafigo&lt;/a&gt;, che funziona come il resto di Google (semplice, veloce, completo, perfettamente funzionante, etc.).&lt;br /&gt;&lt;br /&gt;Ma soprattutto, fino a stamattina, nessuno poteva nemmeno pensare che esistesse uno strumento del genere.&lt;br /&gt;&lt;br /&gt;Ok, allora vediamo cosa Google non ha ancora fatto e che (a questo punto) potrebbe essere quasi pronto:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google Search Prefetch&lt;/span&gt;: quando apri la pagina di Google, trovi già la risposta a quello per cui avevi pensato di aprire Google&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google Energy&lt;/span&gt;: un software che mentre pigi i tasti sulla tastiera ricarica la batteria del notebook. Di qualcun altro. Se la tua è già carica.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google Question&lt;/span&gt;: dopo aver scoperto &lt;a href="http://www.google.it/search?q=the+answer+to+life+the+universe+and+everything"&gt;la risposta alla domanda definitiva sulla vita, l'universo e tutto quanto&lt;/a&gt;, un progetto che &lt;a href="http://en.wikipedia.org/wiki/Answer_to_Life,_the_Universe,_and_Everything#The_search_for_The_Ultimate_Answer"&gt;fornirà la domanda definitiva&lt;/a&gt;. Occhio ai Vogon.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google Last Judgement&lt;/span&gt;: una risposta auterovole per risolvere le vostre diatribe.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google Next News&lt;/span&gt;: uno sguardo sul futuro sulle principali testate giornalistiche dei prossimi secoli.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Google Parallel Universe Chat&lt;/span&gt;: per chattare con le possibili variazioni dei vostri amici (e di voi stessi), in fino a 24 universi paralleli contemporaneamente!&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;E meno male che c'è crisi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-65875923280072019?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/65875923280072019/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=65875923280072019" title="2 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/65875923280072019?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/65875923280072019?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/09/rivoluzione-google-chrome.html" title="Rivoluzione: Google Chrome" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;CEYFR3ozcSp7ImA9WxdaGEg.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-8828092564460450968</id><published>2008-08-27T17:36:00.005+02:00</published><updated>2008-08-27T17:48:36.489+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-27T17:48:36.489+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cazzeggio" /><title>Polygen: ottimo per il cazzeggio</title><content type="html">Consiglio le grammatiche &lt;a href="http://polygen.org/web/Insulti.404.0.html"&gt;&lt;span style="font-weight: bold;"&gt;insulti&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://polygen.org/web/Teen.413.0.html"&gt;&lt;span style="font-weight: bold;"&gt;teen&lt;/span&gt;&lt;/a&gt; e &lt;a href="http://polygen.org/web/Coatti.647.0.html"&gt;&lt;span style="font-weight: bold;"&gt;racconti coatti&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-8828092564460450968?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/8828092564460450968/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=8828092564460450968" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8828092564460450968?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8828092564460450968?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/08/polygen-ottimo-per-il-cazzeggio.html" title="Polygen: ottimo per il cazzeggio" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D08DRXkzfip7ImA9WxdaFEw.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-7215517874217990350</id><published>2008-08-22T16:32:00.002+02:00</published><updated>2008-08-22T16:37:54.786+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-22T16:37:54.786+02:00</app:edited><title>Neo Freerunner: Android e IPhone sono roba da pivelli</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wiki.openmoko.org/images/thumb/b/b9/Freerunner02.gif/200px-Freerunner02.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://wiki.openmoko.org/images/thumb/b/b9/Freerunner02.gif/200px-Freerunner02.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ormai i cellulari hanno tutto... lettore Mp3, GPS, connettività wifi... ma il giorno che voglio customizzarmi il kernel?!?&lt;br /&gt;&lt;br /&gt;Beh, finalmente con Neo Freerunner si può... il primo cellulare completamente open source. Se vuoi ti danno anche gli schemi elettrici, così ci puoi attaccare anche un forno microonde.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-7215517874217990350?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/7215517874217990350/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=7215517874217990350" title="3 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7215517874217990350?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7215517874217990350?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/08/neo-freerunner-android-e-iphone-sono.html" title="Neo Freerunner: Android e IPhone sono roba da pivelli" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;DEYNRH86fCp7ImA9WxdVE0U.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-7114403216157176831</id><published>2008-07-16T16:09:00.005+02:00</published><updated>2008-07-18T15:03:15.114+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-18T15:03:15.114+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="unix" /><category scheme="http://www.blogger.com/atom/ns#" term="aix" /><title>Uptime, AIX e il resize dei filesystem</title><content type="html">Siamo arrivati a quasi 30 ore di uptime! Spettacolo.&lt;br /&gt;&lt;br /&gt;Una delle poche feature che adoro di AIX è la possibilità di effettuare il resize dei filesystem jfs2 a caldo (ovvero, mentre sono montati!). E' veramente molto comodo. Su linux credo che solo reiserfs permetta di fare una cosa del genere (e quello che l'ha fatto poi &lt;a href="http://it.wikipedia.org/wiki/Hans_Reiser"&gt;ha ammazzato la moglie&lt;/a&gt;, per cui non è proprio una cosa da gente equilibrata).&lt;br /&gt;&lt;br /&gt;Peccato che oggi, dopo aver lanciato il resize di un filesystem (che già aveva i suoi problemi, evidentemente) la macchina si è riavviata da sola! Non mi era mai successo nulla del genere. Neanche windows. Di solito crasha e basta. Invece AIX, nella sua efficienza si è riavviato da solo.&lt;br /&gt;&lt;br /&gt;Questa volta mi sono arreso e ho contattato il supporto IBM.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;Aggiornamento: anche se hai comprato una macchina IBM pSeries, non è detto che hai il supporto sul sistema operativo AIX... una conferma che Windows poi non è così male.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-7114403216157176831?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/7114403216157176831/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=7114403216157176831" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7114403216157176831?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7114403216157176831?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/07/uptime-aix-e-il-resize-dei-filesystem.html" title="Uptime, AIX e il resize dei filesystem" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D04ARXs-cCp7ImA9WxdVEE4.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-6881383397725213220</id><published>2008-07-14T13:17:00.004+02:00</published><updated>2008-07-14T13:45:44.558+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-14T13:45:44.558+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="aix linux" /><title>Uptime, AIX e i temporali</title><content type="html">Sabato scorso ci sono stati alcuni temporali piuttosto intensi ed è mancata la luce nel CED dove si trova il nostro server di sviluppo. Ovviamente c'era l'UPS, ma visto che era sabato nessuno se n'è accorto e quindi dopo un po' il CED si è spento miseramente.&lt;br /&gt;&lt;br /&gt;Fin qua tutto bene. Se non fosse che il nostro server di sviluppo non era &lt;span style="font-weight: bold;"&gt;MAI &lt;/span&gt;stato spento. Aveva oltre 500 giorni di uptime. E l'unica volta che era stato riavviato era quando il tecnico IBM aveva installato il sistema operativo. E non era ripartito. E il tecnico aveva deciso di reinstallare il sistema operativo. Per cui, come dire, è stato un modo po' agitato di iniziare la settimana.&lt;br /&gt;&lt;br /&gt;Ad ogni modo è andato tutto bene. Ma questo mi ha dato alcuni spunti di riflessione interessanti.&lt;br /&gt;&lt;br /&gt;Cercherò di scriverlo nel modo più pacato possibile: a me AIX fa cagare.&lt;br /&gt;&lt;br /&gt;Parte di questo giudizio è sicuramente dovuto al fatto che non sono un superesperto di AIX, ma me la cavo con Linux. La prima differenza che riscontro è proprio la difficoltà nel trovare informazioni utili. A fronte di un problema, non so bene come girarmi. Sì, forse potrei contattare più spesso il supporto tecnico... ma non ci sono abituato... non so, le community mi hanno insegnato molto più dei manuali.&lt;br /&gt;&lt;br /&gt;La seconda differenza è che ci deve essere qualcosa che non funziona come si deve. Prima del riavvio utilizzavo il 100% di memoria e il 70% di swap. Ora occupo circa il 50% di RAM. Forse 500 giorni di uptime, se c'è un memory leak da qualche parte, non fanno bene al sistema. Ma io una cosa del genere non l'avevo mai vista su Linux. E se l'avessi vista avrei capito che era un problema del sistema operativo. Invece prima del reboot ero convinto che fosse dovuto al fatto che in 500 giorni di storia del server avevamo aggiunto un sacco di servizi che consumavano memoria. E la cosa più incredibile, è che sarò scemo io, ma capire da cosa è occupata la memoria non è esattamente elementare.&lt;br /&gt;&lt;br /&gt;Infine, così non ho potuto verificare la leggenda secondo cui su AIX, dopo 999 giorni di uptime, il contatore va in overflow e si ricomincia da zero... vediamo tra tre anni.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-6881383397725213220?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/6881383397725213220/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=6881383397725213220" title="3 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/6881383397725213220?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/6881383397725213220?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/07/uptime-aix-e-i-temporali.html" title="Uptime, AIX e i temporali" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;CUQFQX4yeCp7ImA9WxdQFUg.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-5069938135660919078</id><published>2008-06-15T19:15:00.003+02:00</published><updated>2008-06-15T20:08:30.090+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-15T20:08:30.090+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="amazon" /><category scheme="http://www.blogger.com/atom/ns#" term="ec2" /><category scheme="http://www.blogger.com/atom/ns#" term="aws" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Amazon EC2 e Oracle</title><content type="html">Ho scoperto solo di recente gli &lt;a href="http://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt;  e sono rimasto letteralmente folgorato.&lt;br /&gt;&lt;br /&gt;In particolare mi ha colpito il servzio &lt;a href="http://aws.amazon.com/ec2"&gt;Elastic Compute Cloud (EC2)&lt;/a&gt;. Si tratta sostanzialmente di un servizio di hosting basato sulla tecnologia di virtualizzazione XEN, che permette di far girare delle macchine virtuali tipicamente basate su Linux.&lt;br /&gt;&lt;br /&gt;La cosa sconvolgente è la velocità con cui è possibile avere a disposizione delle risorse computazionali. Per attivare e disattivare una macchina virtuale, è sufficiente un'invocazione ad un webservice. Le risorse che occuperete vi verranno addebitate su carta di credito in base alle ore utilizzate, al traffico di rete generato, alla quantità di storage utilizzato. I costi poi sono irrisori, fatevi un giro sul sito di Amazon.&lt;br /&gt;&lt;br /&gt;Per la mia esperienza, questo è veramente sconvolgente. Ad esempio, gli ambienti di produzione e certificazione del progetto su cui lavoro sono in hosting presso uno dei più importanti fornitori di servizi di questo tipo in Italia. Avere a disposizione una nuova macchina per il progetto vuol dire aspettare come minimo un mese (on demand?!?) dal momento dell'ordine. Il che sottintende anche la complessità burocratica della cosa (richiesta di offerta, relazione tecnica d'offerta, ordine, un milione di firme, etc.), e ovviamente i costi (considerate che l'ultima volta ho sentito che lo storage costa la bellezza di 32€ a GB!!! ...supersicuri e protetti... ma sono veramente un sacco di soldi).&lt;br /&gt;&lt;br /&gt;Con EC2 basta essersi registrati sul sito di Amazon e aver inserito i dati della propria carta di credito. Dopodiché per avviare 10 web server che vi servono perché stasera parte la nuova campagna di marketing... basta una chiamata ad un webservice.&lt;br /&gt;&lt;br /&gt;Dopo questa scoperta ho pensato a come calare sulle necessità del progetto su cui lavoro questo fantastico servizio. Il progetto è un CRM Analitico che include un database Oracle da 1.8TB, per molti aspetti è un'applicazione simile a un DWH.&lt;br /&gt;&lt;br /&gt;E qui ho cominciato ad avere qualche dubbio. Come performeranno veramente queste macchine virtuali? Qual è il livello di servizio? Cosa succede in caso di failure dell'infrastruttura hardware? Tutti aspetti che in un modo o nell'altro possono essere risolti.&lt;br /&gt;&lt;br /&gt;Ma poi mi sono chiesto: ma le licenze di Oracle, come le contiamo? Sul sito di Oracle non ho trovato nessuna informazione a riguardo.&lt;br /&gt;&lt;br /&gt;Le macchine virtuali offerte da Amazon hanno caratteristiche diverse, si va da 1 processore virtuale a 20 processori virtuali. Questi processori virtuali sono paragonati ad uno Xeon 1.0Ghz. Visto che Oracle si licenzia tipicamente sulla base del numero di processori... se si dovesse licenziare per 20 processori equivalenti ad uno Xeon 1.0Ghz... beh, diventerebbe quantomeno poco conveniente. E ancora di più: ma se io la macchina virtuale la voglio usare solo per 1 ora al giorno nella configurazione da 20 processori?&lt;br /&gt;&lt;br /&gt;Mi son fatto l'idea che gli AWS sono così innovativi che solo il mondo open source può stargli dietro al momento.&lt;br /&gt;&lt;br /&gt;Comunque, poter pagare solamente 0,80$ all'ora per un server con 8CPU, 15GB RAM e 1.7TB di disco... beh, credo che è una cosa che farà venire l'acquolina in bocca a parecchi IT Manager... per cui occhio alla rivoluzione!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-5069938135660919078?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/5069938135660919078/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=5069938135660919078" title="1 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5069938135660919078?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5069938135660919078?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/06/amazon-ec2-e-oracle.html" title="Amazon EC2 e Oracle" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEIFR3k-eyp7ImA9WxdSFk8.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-7819283589721063232</id><published>2008-05-23T17:46:00.006+02:00</published><updated>2008-05-24T11:48:36.753+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-05-24T11:48:36.753+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oracle dwh integration" /><title>Oracle Data Profiling and Quality: uno strumento potente a supporto della Data Integration</title><content type="html">Da un mesetto utilizzo &lt;a href="http://www.oracle.com/technology/products/oracle-data-integrator/index.html"&gt;Oracle Data Profiling and Quality&lt;/a&gt; e mi trovo veramente bene.&lt;br /&gt;&lt;br /&gt;Sto utilizzando questo strumento nell'ambito di un progetto di CRM Analitico, dove una delle tematiche è la data integration da molteplici sistemi eterogenei (legacy, SAP, SAP CRM, etc.).&lt;br /&gt;&lt;br /&gt;Uno dei problemi che ho dovuto affrontare è verificare rapidamente i dati che ci vengono inviati, prima di processarli. Un verifica manuale permette di identificare i problemi macroscopici delle interfacce di integrazione, ma può essere complessa per il formato dell'interfaccia e per la quantità dei dati da analizzare.&lt;br /&gt;&lt;br /&gt;Con Oracle Data Profiling and Quality devo innanzitutto definire il formato delle interfacce, che possono essere tracciati a record fisso, tracciati con separatore, tabelle Oracle, tabelle DB2, sorgenti dati ODBC e altre.&lt;br /&gt;&lt;br /&gt;Quindi posso procedere ad analizzare i dati che mi vengono forniti. Lo strumento spacchetta automaticamente i record nei campi indicati nella definizione dell'interfaccia e permette di visualizzarli su un'interfaccia tipo Excel, su cui posso ordinare i record secondo i vari campi, posso effettuare ricerche, etc.&lt;br /&gt;&lt;br /&gt;Fin qua nulla di veramente eccitante, ma ora viene il bello. Oltre a quanto detto lo strumento effettua automaticamente una serie di interessanti analisi:&lt;br /&gt;&lt;br /&gt;- ricerca automaticamente i campi che possono essere la chiave dell'entità/interfaccia processata, indicando eventualmente i record che violano questa chiave. Rileva anche le chiavi definite su campi multipli. Esempio, nell'estrazione di un'anagrafica clienti rileva che la partita IVA è una chiave, ma segnala come probabile chiave anche la somma dei campi Ragione Sociale e Indirizzo.&lt;br /&gt;&lt;br /&gt;- ricerca automaticamente eventuali relazioni e dipendenze tra i campi dell'interfaccia. Continuando l'esempio dell'anagrafica, rileva che il campo Provincia è correlato al campo Città, magari indicando che questo non è vero per la città di Villanova che si trova sia in provincia di Torino che in provincia di Asti.&lt;br /&gt;&lt;br /&gt;- per ciascun campo dell'interfaccia identifica tutti i possibili valori, riporta la distribuzione di questi valori e cerca di identificare eventuali pattern. Ad esempio riporta che nel campo Sesso sono presenti solo i valori M ed F con distribuzione di 48% sul primo e 52% sul secondo. E poi riconosce che nel campo data di nascita  la data è nel formato YYYYMMDD.&lt;br /&gt;&lt;br /&gt;Le analisi indicate vengono fatte automaticamente dallo strumento e molto velocemente. Ad esempio, analizzare 50000 record di un'interfaccia con 100 campi, sul mio notebook impiega all'incirca 10 minuti.&lt;br /&gt;&lt;br /&gt;Oltre alle analisi automatiche lo strumento permette di aggiungere dei controlli, delle regole di business che devono essere verificate, anche tra diverse interfacce. Ad esempio è possibile aggiungere dei controlli di congruenza tra differenti interfacce.  Ad esempio, se ho un flusso di dati delle anagrafiche dei clienti e un altro flusso dati del parco auto, posso aggiungere un controllo per verificare che il campo codice cliente che mette in relazione le due interfacce contenga gli stessi valori, nello stesso formato, e che non ci siano disallineamenti tra le interfacce.&lt;br /&gt;&lt;br /&gt;Oracle Data Quality and Profiling fa parte della suite Oracle Data Integrator. E' un prodotto piuttosto recente di Oracle, probabilmente frutto di qualche acquisizione. Più in generale Oracle Data Integrator racchiude una molteplicità di strumenti, di cui mi sembra di aver visto solo la punta dell'iceberg.&lt;br /&gt;&lt;br /&gt;Tra gli altri elementi del pacchetto fanno parte anche:&lt;br /&gt;&lt;br /&gt;- il tool di Data Quality, che permette di verificare la qualità dei dati, di definire soglie di sbarramento per evitare di inquinare il datawarehouse con dati sporchi, e si integra anche con strumenti di normalizzazione angrafica (es. Trillium).&lt;br /&gt;&lt;br /&gt;- il sistema di Data Integration: che sostanzialmente si pone ad un livello più alto degli strumenti di ETL, permettendo di gestira da un unico strumento tutto il processo di integrazione&lt;br /&gt;&lt;br /&gt;Vi terrò aggiornati.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-7819283589721063232?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/7819283589721063232/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=7819283589721063232" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7819283589721063232?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/7819283589721063232?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/05/oracle-data-profiling-and-quality-uno.html" title="Oracle Data Profiling and Quality: uno strumento potente a supporto della Data Integration" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkIHSHwyeSp7ImA9WxZXGU0.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-1337131567651844004</id><published>2008-03-07T17:46:00.003+01:00</published><updated>2008-03-07T17:48:59.291+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-07T17:48:59.291+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="projectmanagement" /><title>Postulato di Andrea sul tempo perso in riunioni</title><content type="html">Il tempo che si perde in una riunione cresce in modo esponenziale rispetto al numero dei partecipanti alla riunione stessa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-1337131567651844004?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/1337131567651844004/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=1337131567651844004" title="3 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/1337131567651844004?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/1337131567651844004?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/03/postulato-di-andrea-sul-tempo-perso-in.html" title="Postulato di Andrea sul tempo perso in riunioni" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;DUAEQX0_eCp7ImA9WxZSFUg.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-8925158569261769744</id><published>2008-01-28T22:58:00.000+01:00</published><updated>2008-01-28T23:01:40.340+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-28T23:01:40.340+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web service" /><title>Testare i webservice</title><content type="html">Come fare a testare l'invocazione a un webservice?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eclipse.org/webtools/jst/components/ws/M4/tutorials/WebServiceExplorer.html"&gt;Questo articolo&lt;/a&gt; descrive Web Service Explorer di &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;E' semplicissimo e funziona alla grande.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-8925158569261769744?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/8925158569261769744/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=8925158569261769744" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8925158569261769744?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8925158569261769744?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/01/testare-i-webservice.html" title="Testare i webservice" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUAHR349eyp7ImA9WxZSFUg.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-1428228621121370752</id><published>2008-01-18T13:12:00.000+01:00</published><updated>2008-01-28T23:02:16.063+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-28T23:02:16.063+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web service" /><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Oracle 11g: Native Webservices</title><content type="html">Ovvero: finalmente pubblicare una funzionalità come un webservice è solo un problema di configurazione.&lt;br /&gt;&lt;br /&gt;Questo post &lt;a href="http://tardate.blogspot.com/2007/08/first-tests-of-11g-native-web-services.html"&gt;First Tests of 11g Native Web Services&lt;/a&gt; descrive come configurare e provare i Native Webservice di Oracle 11g.&lt;br /&gt;&lt;br /&gt;Ecco le informazioni essenziali per fare una prova:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Configurare la servlet che gestisce i native webservice (come SYSTEM):&lt;/li&gt;&lt;br /&gt;DECLARE&lt;br /&gt;SERVLET_NAME VARCHAR2(32) := 'orawsv';&lt;br /&gt;BEGIN&lt;br /&gt;DBMS_XDB.deleteServletMapping(SERVLET_NAME);&lt;br /&gt;DBMS_XDB.deleteServlet(SERVLET_NAME);&lt;br /&gt;DBMS_XDB.addServlet(NAME     =&gt; SERVLET_NAME,&lt;br /&gt;                LANGUAGE =&gt; 'C',&lt;br /&gt;                DISPNAME =&gt; 'Oracle Query Web Service',&lt;br /&gt;                DESCRIPT =&gt; 'Servlet for issuing queries as a Web Service',&lt;br /&gt;                SCHEMA   =&gt; 'XDB');&lt;br /&gt;DBMS_XDB.addServletSecRole(SERVNAME =&gt; SERVLET_NAME,&lt;br /&gt;                       ROLENAME =&gt; 'XDB_WEBSERVICES',&lt;br /&gt;                       ROLELINK =&gt; 'XDB_WEBSERVICES');&lt;br /&gt;DBMS_XDB.addServletMapping(PATTERN =&gt; '/orawsv/*',&lt;br /&gt;                       NAME    =&gt; SERVLET_NAME);&lt;br /&gt;dbms_xdb.setHttpPort(8080);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;li&gt;Abilitare lo user SCOTT all'utilizzo dei Native Webservice (come SYSTEM):&lt;/li&gt;&lt;br /&gt;GRANT XDB_WEBSERVICES TO SCOTT;&lt;br /&gt;GRANT XDB_WEBSERVICES_OVER_HTTP TO SCOTT;&lt;br /&gt;GRANT XDB_WEBSERVICES_WITH_PUBLIC TO SCOTT;&lt;br /&gt;&lt;li&gt;Creare una funzione che risponderà come un webservice (come SCOTT):&lt;/li&gt;&lt;br /&gt;CREATE OR REPLACE FUNCTION empcount&lt;br /&gt;RETURN NUMBER IS&lt;br /&gt;emp_count number;&lt;br /&gt;BEGIN&lt;br /&gt;SELECT count(*) INTO emp_count FROM emp;&lt;br /&gt;RETURN emp_count;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;li&gt;Provare il webservice. Alla URL http://&lt;span style="font-style: italic;"&gt;hostname&lt;/span&gt;:8080/orawsv/SCOTT/EMPCOUNT?wsdl trovate il WSDL del webservice.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-1428228621121370752?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/1428228621121370752/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=1428228621121370752" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/1428228621121370752?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/1428228621121370752?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/01/oracle-11g-native-webservices.html" title="Oracle 11g: Native Webservices" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkUMR3Y-eip7ImA9WxZTFkg.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-3918626333377622047</id><published>2008-01-18T12:14:00.000+01:00</published><updated>2008-01-18T13:11:26.852+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-18T13:11:26.852+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Oracle 11g: Scott Tiger</title><content type="html">In Oracle DB 11g gli schema di esempio (Scott/Tiger e affini) non vengono creati di default (forse già da qualche versione precedente in realtà...).&lt;br /&gt;&lt;br /&gt;Per creare questi schema, ma anche per resettarli, è sufficiente lanciare da SYSTEM il seguente script:&lt;br /&gt;&lt;br /&gt;$ORACLE_HOME/RDBMS/ADMIN/utlsampl.sql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-3918626333377622047?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/3918626333377622047/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=3918626333377622047" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/3918626333377622047?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/3918626333377622047?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/01/oracle-11g-scott-tiger.html" title="Oracle 11g: Scott Tiger" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEcCR3k5eyp7ImA9WxZTE08.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-8003161868983110899</id><published>2008-01-10T23:08:00.000+01:00</published><updated>2008-01-14T16:54:26.723+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-14T16:54:26.723+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0" /><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><category scheme="http://www.blogger.com/atom/ns#" term="sicurezza" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title>OpenID: il Single Sign On globale</title><content type="html">Oggi ho scoperto &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; è un sistema di autenticazione per le applicazioni internet, che risolve innanzitutto due problemi fondamentali: doversi ricordare un milione di username/password e doversi registrare su ogni sito che richiede autenticazione. E' una specie di Single Sign On globale.&lt;br /&gt;&lt;br /&gt;Il funzionamento è abbastanza semplice.&lt;br /&gt;Innanzitutto bisogna registrarsi su un sito che sia un provider OpenID: ce ne sono un sacco (es. &lt;a href="http://myopenid.com/"&gt;myopenid.com&lt;/a&gt;, &lt;a href="http://myid.net/"&gt;myid.net&lt;/a&gt;, etc.). Addirittura potreste già avere un account su un provider OpenID, perché alcuni siti già supportano OpenID, ad esempio &lt;a href="http://www.wordpress.com/"&gt;wordpress &lt;/a&gt;oppure &lt;a href="http://www.technorati.com/"&gt;technorati&lt;/a&gt;.&lt;br /&gt;Una volta registrati potrete fare login su tutti i siti che sono "confederati" a OpenID. Ma come funziona?&lt;br /&gt;&lt;br /&gt;Se per esempio avete un account su technorati, allora il vostro profilo è accessibile alla URL http://technorati.com/people/technorati/&lt;span style="font-style: italic;"&gt;nomeaccount&lt;/span&gt;. A questo punto se volete accedere al bellissimo sito http://www.zooomr.com/ potete cliccare su &lt;span style="font-weight: bold;"&gt;Sign In with OpenID&lt;/span&gt; ed inserire come &lt;span style="font-style: italic;"&gt;Username &lt;/span&gt;la URL che punta al vostro account su technorati: http://technorati.com/people/technorati/&lt;span style="font-style: italic;"&gt;nomeaccount&lt;br /&gt;&lt;/span&gt;Cliccando su SignIn verrete rimandati sul sito di technorati, su cui farete login e poi sarete rimbalzati nuovamente su zooomr.&lt;br /&gt;&lt;br /&gt;Invece di ricordarvi 1000 combinazioni di username e password dovrete ricordavi unicamente la URL del vostro profilo del vostro provider di autenticazione preferito e una sola password,  che sarà memorizzata in un solo posto: la vostra identità digitale sarà una sola e sarà utilizzabile su tutta la rete.&lt;br /&gt;&lt;br /&gt;Purtroppo per ora non sono molti i siti che la adottano completamente... insomma, finché non la adotteranno google e yahoo non sarà poi così utile. E poi mi sa che ci saranno un po' di cose da spiegare agli utenti non addetti ai lavori...&lt;br /&gt;&lt;br /&gt;Mi sembra però una cosa molto interessante, che potrebbe risolvere un po' di problemi. Vedremo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-8003161868983110899?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/8003161868983110899/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=8003161868983110899" title="5 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8003161868983110899?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8003161868983110899?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/01/openid-il-single-sign-on-globale.html" title="OpenID: il Single Sign On globale" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>5</thr:total></entry><entry gd:etag="W/&quot;CE8DQn0-eCp7ImA9WxZTEE0.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-8488794753331440416</id><published>2008-01-10T14:45:00.000+01:00</published><updated>2008-01-10T23:07:53.350+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-01-10T23:07:53.350+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="aix" /><title>Librerie per Shell Scripting moderno</title><content type="html">Oggi ho scoperto le seguenti due librerie:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.forestent.com/wiki/ShUnit2:Main_Page"&gt;shunit2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.forestent.com/wiki/Log4sh:Main_Page"&gt;log4sh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Si tratta di due librerie molto utile per scrivere shell script basati su Bourne Shell (es. bash). Si tratta rispettivamente di una libreria per fare unit test e una libreria per fare logging, simili a junit e a log4j del mondo java.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-8488794753331440416?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/8488794753331440416/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=8488794753331440416" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8488794753331440416?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/8488794753331440416?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2008/01/librerie-per-shell-scripting-moderno.html" title="Librerie per Shell Scripting moderno" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEYBQH8zfSp7ImA9WB9bEEU.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-5041264995452910783</id><published>2007-12-19T18:25:00.000+01:00</published><updated>2007-12-19T18:42:31.185+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-19T18:42:31.185+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="aix" /><title>Partizionamento e performance</title><content type="html">Breve esperienza sul partizionamento di architetture pSeries.&lt;br /&gt;&lt;br /&gt;Per il progetto su cui lavoro da ormai una vita, l'ambiente di certificazione è stato migrato da una &lt;span style="font-weight: bold;"&gt;partizione &lt;/span&gt;di un &lt;a href="http://www-03.ibm.com/systems/p/hardware/highend/595/specs.html"&gt;IBM pSeries P5 595&lt;/a&gt; &lt;span style="font-weight: bold;"&gt;condiviso con altre applicazioni&lt;/span&gt; (un bestione che può montare fino a 64 cpu e 2 TB di RAM), a un &lt;a href="http://www-03.ibm.com/systems/p/hardware/eserverp5/entry/550/specs.html"&gt;IBM pSeries P5 550&lt;/a&gt; &lt;span style="font-weight: bold;"&gt;dedicato &lt;/span&gt;(una bestiolina che può montare fino a 4 cpu e 64GB di RAM).&lt;br /&gt;&lt;br /&gt;Il numero di CPU e la quantità di RAM dedicate alla partizione prima e montati sul server fisico dopo sono esattamente uguali (4 CPU e 24GB di RAM). L'unica differenza è che sulla P5 550 le CPU sono a 2.1Ghz invece che a 1.9Ghz (com'erano sul P5 595).&lt;br /&gt;&lt;br /&gt;Lo storage è rimasto lo stesso, così come le connessioni Fibre Channel.&lt;br /&gt;&lt;br /&gt;L'applicazione effettua elaborazioni molto complesse, tra cui il caricamento di un Data Mart.&lt;br /&gt;Questa operazione sull'ambiente partizionato impiegava oltre 32 ore. Sulla macchina dedicata 23 ore.&lt;br /&gt;&lt;br /&gt;Anche altri test hanno confermato questo dato.&lt;br /&gt;&lt;br /&gt;Interessante, vero?&lt;br /&gt;&lt;br /&gt;Forse il partizionamento non è così ottimale nel riservare risorse dedicate a ciascuna partizione. Forse rimangono delle risorse condivise (canali di I/O?) tra le partizioni, che comportano una lotta per le risorse tra le partizioni.&lt;br /&gt;&lt;br /&gt;Fatto sta che su hardware dedicato si viaggia molto meglio.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-5041264995452910783?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/5041264995452910783/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=5041264995452910783" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5041264995452910783?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/5041264995452910783?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2007/12/partizionamento-e-performance.html" title="Partizionamento e performance" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DE4HSHw7eip7ImA9WB9WGEw.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-3786996407440533244</id><published>2007-11-23T10:19:00.000+01:00</published><updated>2007-11-23T12:22:19.202+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-23T12:22:19.202+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><category scheme="http://www.blogger.com/atom/ns#" term="sicurezza" /><title>Metodo CONNECT HTTP: abbattere le barriere delle reti aziendali</title><content type="html">Normalmente i client connessi alle reti aziendali hanno accesso solamente al Web, attraverso un proxy che magari chiede pure l'autenticazione.&lt;br /&gt;&lt;br /&gt;Questo è un problema nel caso sia necessario da una rete aziendale raggiungere servizi diversi dal web di un'altra rete aziendale: ad esempio, se sono da un cliente, come faccio a collegarmi al mio server di sviluppo?&lt;br /&gt;&lt;br /&gt;Il modo c'è, grazie al metodo CONNECT del protocollo HTTP. Questo metodo viene comunemente implementato dai Proxy HTTP. La sua funzionalità è quella di facilitare le comunicazioni cifrate SSL (HTTPS), permettendo a un client di fare una connessione sicura di cui il proxy non sarà in grado di registrare nessuna informazione in chiaro.&lt;br /&gt;&lt;br /&gt;In pratica il metodo CONNECT effettua una connessione TCP ad un server remoto. Da quel momento in poi tutto il traffico sulla connessione HTTP è gestito tra il client e il server remoto, ed in pratica il metodo CONNECT permette di utilizzare il Proxy come un semplice tunnel TCP/IP. Quindi è possibile veicolare attraverso un Proxy HTTP qualunque protocollo TCP!&lt;br /&gt;&lt;br /&gt;Ovviamente non sono l'unico a sapere questa cosa e chi configura i proxy cerca di arginare il problema. L'unico limite che normalmente viene impostato è che il metodo CONNECT è abilitato solamente sulla porta 443 (porta standard HTTPS). Nessuno vieta però di pubblicare un qualunque servizio sulla porta 443 di un server... ad esempio un server SSH.&lt;br /&gt;&lt;br /&gt;SSH poi è un servizio/protocollo fenomenale, che già include nativamente la possibilità di effettuare tunneling verso qualunque altro servizio. Quindi se si pubblica su internet un server SSH sulla porta 443, configurandolo opportunamente può essere utilizzato come testa di ponte per arrivare a qualunque altro servizio, ad esempio un database Oracle.&lt;br /&gt;&lt;br /&gt;Tecnicamente le cose da fare sono abbastanza poche.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Configurare il server ssh per accettare connessioni anche sulla porta 443. Per farlo è sufficiente aggiungere la direttiva &lt;span style="font-weight: bold;"&gt;Port 443&lt;/span&gt; nel file di configurazione &lt;span style="font-weight: bold;"&gt;sshd_config&lt;/span&gt;. Se si specificano più direttive Port, allora il server rimarrà in ascolto su tutte le porte specificate (è utile ad esempio se si vuole anche mantenere in ascolto SSH sulla porta standard).&lt;/li&gt;&lt;li&gt;Pubblicare il servizio su internet (es. ssh.miodomain.it:443).&lt;/li&gt;&lt;li&gt;Scaricare &lt;a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html"&gt;PuTTY&lt;/a&gt;. L'ultima versione disponibile (0.58) include la possibilità di effettuare una connessione attraverso un proxy HTTP.&lt;/li&gt;&lt;li&gt;Aprire PuTTY e configurare una connessione:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Session:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Specificare l'host name del server remoto (es. ssh.miodomain.it)&lt;/li&gt;&lt;li&gt;Specificare la porta (ovviamente la 443!)&lt;/li&gt;&lt;li&gt;Specificare il protocollo SSH&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Connection-&gt;Proxy:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Specificare il tipo di proxy: HTTP&lt;/li&gt;&lt;li&gt;Specificare l'hostname e la porta del proxy&lt;/li&gt;&lt;li&gt;Se necessario, specificare username e password per l'autenticazione sul proxy&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ol&gt;Su come configurare ssh per il port forwarding vi rimando alla &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config"&gt;documentazione di SSHD (AllowTCPForwarding)&lt;/a&gt; e a quella di &lt;a href="http://the.earth.li/%7Esgtatham/putty/0.60/htmldoc/Chapter4.html#config-ssh-portfwd"&gt;PuTTY&lt;/a&gt; (vedi anche il menu Connection-&gt;SSH-&gt;Tunnels).&lt;br /&gt;&lt;br /&gt;Non fate troppi danni, eh!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-3786996407440533244?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/3786996407440533244/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=3786996407440533244" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/3786996407440533244?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/3786996407440533244?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2007/11/metodo-connect-http-abbattere-le.html" title="Metodo CONNECT HTTP: abbattere le barriere delle reti aziendali" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUACQnc6cSp7ImA9WB9QF04.&quot;"><id>tag:blogger.com,1999:blog-23968415.post-4760620498256539692</id><published>2007-10-30T10:42:00.000+01:00</published><updated>2007-10-30T10:49:23.919+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-30T10:49:23.919+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oracle" /><title>Oracle 9.2 su Windows, 32bit o 64bit?</title><content type="html">Oracle 9.2 era stato a suo tempo rilasciato anche in versione 64bit per Windows. Ma attenzione! Questa versione funziona solamente sui processori Itanium. Per cui non può funzionare sui processori Intel x86 64bit, come gli Xeon! Su questi processori è necessario installare la versione di Oracle a 32bit.&lt;br /&gt;&lt;br /&gt;Dalla versione 10.1 invece Oracle ha rilasciato tre versioni per Windows: a 32bit, a 64bit per Itanium e a 64bit per processori x86 con estensioni a 64bit.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23968415-4760620498256539692?l=andreatech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://andreatech.blogspot.com/feeds/4760620498256539692/comments/default" title="Commenti sul post" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=23968415&amp;postID=4760620498256539692" title="0 Commenti" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/4760620498256539692?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/23968415/posts/default/4760620498256539692?v=2" /><link rel="alternate" type="text/html" href="http://andreatech.blogspot.com/2007/10/oracle-92-su-windows-32bit-o-64bit.html" title="Oracle 9.2 su Windows, 32bit o 64bit?" /><author><name>Andrea</name><uri>http://www.blogger.com/profile/13232027131574739812</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry></feed>

