<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-27463577</id><updated>2011-12-28T03:29:17.102-08:00</updated><category term='C#'/><category term='Open Source Software'/><category term='rdf'/><category term='RESTful'/><category term='SPARQL'/><category term='Sql Server 2008'/><category term='semweb'/><category term='java'/><category term='csail'/><category term='XML'/><category term='pure methods'/><category term='slacianu'/><category term='rinard'/><category term='MIT'/><category term='Facebook API'/><title type='text'>MMo Sharp</title><subtitle type='html'>MMo's development news</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27463577.post-3153462065479140743</id><published>2009-06-24T16:44:00.000-07:00</published><updated>2009-06-24T16:51:04.537-07:00</updated><title type='text'>And in the city that doesn't sleep...</title><content type='html'>New York, the city that doesn't sleep, is once again the model and guide for all the people that would love their own city to be more technology-aware. Tuie time the city government has started collecting referrals to resources and data libraries about an from Manhattan in order to catalogate, connect and interact with these infos. What Will come out? Who knows, but as somene said "better stupid and connected than intelligent and isolated"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-3153462065479140743?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/3153462065479140743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=3153462065479140743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/3153462065479140743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/3153462065479140743'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/06/and-in-city-that-doesnt-sleep.html' title='And in the city that doesn&apos;t sleep...'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-570370918954942770</id><published>2009-06-06T11:34:00.001-07:00</published><updated>2009-06-06T11:34:38.897-07:00</updated><title type='text'>Hackday!</title><content type='html'>&lt;script src="http://static.livestream.com/scripts/playerv2.js?channel=hackday&amp;layout=playerEmbedDefault&amp;backgroundColor=0xffffff&amp;backgroundAlpha=1&amp;backgroundGradientStrength=0&amp;chromeColor=0x000000&amp;headerBarGlossEnabled=true&amp;controlBarGlossEnabled=true&amp;chatInputGlossEnabled=false&amp;uiWhite=true&amp;uiAlpha=0.5&amp;uiSelectedAlpha=1&amp;dropShadowEnabled=true&amp;dropShadowHorizontalDistance=10&amp;dropShadowVerticalDistance=10&amp;paddingLeft=10&amp;paddingRight=10&amp;paddingTop=10&amp;paddingBottom=10&amp;cornerRadius=10&amp;backToDirectoryURL=null&amp;bannerURL=null&amp;bannerText=Global Hackday - tangible interfaces&amp;bannerWidth=320&amp;bannerHeight=50&amp;showViewers=true&amp;embedEnabled=true&amp;chatEnabled=true&amp;onDemandEnabled=true&amp;programGuideEnabled=false&amp;fullScreenEnabled=true&amp;reportAbuseEnabled=false&amp;gridEnabled=false&amp;initialIsOn=true&amp;initialIsMute=false&amp;initialVolume=10&amp;contentId=null&amp;initThumbUrl=null&amp;playeraspectwidth=4&amp;playeraspectheight=3&amp;mogulusLogoEnabled=true&amp;width=400&amp;height=300&amp;wmode=window" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-570370918954942770?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/570370918954942770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=570370918954942770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/570370918954942770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/570370918954942770'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/06/hackday.html' title='Hackday!'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-4449066256811825973</id><published>2009-05-01T07:28:00.001-07:00</published><updated>2009-05-01T07:31:58.237-07:00</updated><title type='text'>De Rerum Fluentis</title><content type='html'>Interessantissimo il concetto di Fluent, analizzato recentemente per il progetto BaBL. In sostanza i metodi che dovrebbero ritornare null perchè modificano lo stato, ritornano l'oggetto stesso con lo stato modificato. Questo permette un stile di programmazione tutto nuovo, totalmente leggibile, totalmente elegante. Per ulteriori informazioni la &lt;a href="http://www.martinfowler.com/bliki/FluentInterface.html"&gt;Bliki di Martin Fowler&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-4449066256811825973?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/4449066256811825973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=4449066256811825973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/4449066256811825973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/4449066256811825973'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/05/de-rerum-fluentis.html' title='De Rerum Fluentis'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-934647828743857904</id><published>2009-03-11T15:48:00.001-07:00</published><updated>2009-03-11T15:48:27.593-07:00</updated><title type='text'>Generazione Automatica Di Codice Orientato Agli Oggetti Tramite</title><content type='html'>Check out this SlideShare Presentation: &lt;div style="width:425px;text-align:left" id="__ss_1133917"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/sirmmo/generazione-automatica-di-codice-orientato-agli-oggetti-tramite?type=powerpoint" title="Generazione Automatica Di Codice Orientato Agli Oggetti Tramite"&gt;Generazione Automatica Di Codice Orientato Agli Oggetti Tramite&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=generazioneautomaticadicodiceorientatoaglioggettitramite-090311174457-phpapp02&amp;stripped_title=generazione-automatica-di-codice-orientato-agli-oggetti-tramite" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=generazioneautomaticadicodiceorientatoaglioggettitramite-090311174457-phpapp02&amp;stripped_title=generazione-automatica-di-codice-orientato-agli-oggetti-tramite" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/sirmmo"&gt;Marco Montanari&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-934647828743857904?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/934647828743857904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=934647828743857904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/934647828743857904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/934647828743857904'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/03/generazione-automatica-di-codice.html' title='Generazione Automatica Di Codice Orientato Agli Oggetti Tramite'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-854163778291905815</id><published>2009-02-06T15:42:00.000-08:00</published><updated>2009-02-06T16:41:30.294-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RESTful'/><category scheme='http://www.blogger.com/atom/ns#' term='SPARQL'/><category scheme='http://www.blogger.com/atom/ns#' term='semweb'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Source Software'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook API'/><title type='text'>SemWeb</title><content type='html'>Oggi voglio introdurvi, miei cari lettori, ad una mia ottima amica degli ultimi giorni: una libreria per lo sviluppo di network semantici. La libreria &lt;a href="http://razor.occams.info/code/semweb/"&gt;SemWeb&lt;/a&gt; è quanto di meglio offre il mondo open source nell'ambito delle reti semantiche per il framework .net. caratteristica estremamente interessante di questa libreria sta da un lato nella sua integrabilità con database "reali", dall'altro nella sua compatibilità con query N3 e SPARQL.&lt;div&gt;Vediamo un pò di fare un esempio semplice di network. Supponiamo di voler creare una rete semantica basata sulla mitica &lt;a href="http://wiki.developers.facebook.com/index.php/API"&gt;Facebook API (o per lo meno sui servizi REST)&lt;/a&gt;. E supponiamo di voler organizzare in modo intelligente le informazioni per ottenere dati di marketing tali da permetterci di andare a valutare come posizionare un certo prodotto sul mercato in modo da sfruttare le caratteristiche virali di internet (si, ho sparato una sequenza di stupidate per giustificare l'uso di Facebook REST). &lt;/div&gt;&lt;div&gt;Partiamo dal definire le caratteristiche fondamentali di questo "gioco". Abbiamo degli utenti di facebook, i loro amici, le cose di cui sono fan, i gruppi a cui appartengono, le applicazioni che hanno installato. Date queste entità e fato il fatto che sono tutte accessibili tramite le API REST, diventa estremamente facile poter pensare al mondo facebook come insieme di triplette (entità1, relazione, entità2). In particolare avremo delle entità che potremo identificare tramite il loro indirizzo "personale" su facebook avendo facilmente l'URI di ognuna di esse. Le relazioni potremmo prenderle, effettivamente, da FOAF, ma per facilità di trattazione creiamo uno standard nostro, ad esempio "http://www.facebook.com/rel/isFriendOf". &lt;/div&gt;&lt;div&gt;Ora il gioco diventa semplcissimo. Ogni volta che invochiamo l'api trovando nuovi amici di un dato utente, aggiungiamo ad un MemoryStore uno statement contenente l'entità dell'utente che stiamo analizzando, il tipo di relazione "http://www.facebook.com/rel/isFriendOf" e l'entità dell'utente che abbiamo trovato come amico del primo. Questo per ogni tipo di relazione che andremo ad analizzare.&lt;/div&gt;&lt;div&gt;Fatto questo il MemoryStore conterrà un pò di relazioni fra utenti. Sarebbe estremamente interessante poter interrogare la raccolta di dati su relazioni particolari, come amici di schieramenti politici opposti. Per questo ci viene in aiuto SPARQL, che con un elegante sistema di codifica permette di andare a definire esattamente quella query (domani il codice di esempio della query).  &lt;/div&gt;&lt;div&gt;Non ha senso dover rifare ogni volta l'albero (anche se magari persone si sono aggiunte o tolte). Per questo si può utilizzare l'ottimo RDFXmlWriter che trasforma la rete semantica definita nel memorystore in un file XML utilizzabile sia da Protege, che ovviamente dall'RDFXmlReader per ripartire da una rete già pronta...&lt;/div&gt;&lt;div&gt;Domani un pò di codice su cui pensare...&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-854163778291905815?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/854163778291905815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=854163778291905815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/854163778291905815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/854163778291905815'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/02/semweb.html' title='SemWeb'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-8906514564454080757</id><published>2009-02-06T15:33:00.000-08:00</published><updated>2009-02-06T16:44:32.433-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SPARQL'/><category scheme='http://www.blogger.com/atom/ns#' term='semweb'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><category scheme='http://www.blogger.com/atom/ns#' term='Sql Server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Di colli di bottiglia</title><content type='html'>ieri. ore 9.00: parte l'esecuzione dell'analizzatore del framework .net che genera la rete semantica. &lt;div&gt;ieri. ore 9.10: si conclude l'esecuzione con la creazione di un file XML delle dimensioni di 120MB. Sono circa 1500000 relazioni RDF.&lt;/div&gt;&lt;div&gt;oggi. ore 9.00: parte l'esecuzione dell'analizzatore del framework .net che genera la rete semantica. &lt;/div&gt;&lt;div&gt;oggi. ore 9.10: siamo a 10000 relazioni.&lt;/div&gt;&lt;div&gt;oggi. ore 12.00: siamo a 300000 relazioni.&lt;/div&gt;&lt;div&gt;oggi. ore 15.00: siamo a 550000 relazioni.&lt;/div&gt;&lt;div&gt;domani. ore 00.40: siamo a 1145723 relazioni.&lt;/div&gt;&lt;div&gt;domani. ore 01.15: si conclude l'esecuzione che ha riempito SQL Server 2008 con le relazioni gioiose e felici. Chissà se funzionano le query SPARQL...&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/27463577-8906514564454080757?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/8906514564454080757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=8906514564454080757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/8906514564454080757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/8906514564454080757'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/02/di-colli-di-bottiglia.html' title='Di colli di bottiglia'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-3533708873246440409</id><published>2009-01-22T03:36:00.000-08:00</published><updated>2009-01-22T05:19:00.587-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MIT'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='csail'/><category scheme='http://www.blogger.com/atom/ns#' term='slacianu'/><category scheme='http://www.blogger.com/atom/ns#' term='pure methods'/><category scheme='http://www.blogger.com/atom/ns#' term='rinard'/><title type='text'>Purity and Side Effect Analysis for Java Programs - Salcianu, Rinard</title><content type='html'>Il concetto di &lt;a href="http://en.wikipedia.org/wiki/Side-effect_(computer_science)"&gt;side effect &lt;/a&gt;è uno dei più dibattuti degli ultimi tempi (no, non arriverà nelle case di tutti tramite porta a porta, la discussione, perchè tanto c'è il forum di &lt;a href="http://lambda-the-ultimate.org/"&gt;Lambda the Ultimate&lt;/a&gt;), soprattutto a causa del suo stretto legame con i linguaggi imperativi. Il paper dei due ricercatori del MIT presenta una interessante modalità di analisi dei side effect (e quindi un modus operandi per la caccia ai metodi puri). In particolare il modo per inferire le informazioni sui side effect delle operazioni è assolutamente interessante. Peccato solo per due questioni: è tutto pensato per Java (non che il porting dei concetti sia difficile) e devo immaginare un modo per rendere il controllo dei side-effect parte integrante dell'analisi del framework .net. Pare facile...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.cag.lcs.mit.edu/~rinard/paper/vmcai05.purity.pdf"&gt;http://www.cag.lcs.mit.edu/~rinard/paper/vmcai05.purity.pdf&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-3533708873246440409?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/3533708873246440409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=3533708873246440409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/3533708873246440409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/3533708873246440409'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2009/01/purity-and-side-effect-analysis-for.html' title='Purity and Side Effect Analysis for Java Programs - Salcianu, Rinard'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-4903532627212849568</id><published>2008-10-08T01:48:00.000-07:00</published><updated>2008-10-08T01:50:02.485-07:00</updated><title type='text'>Beh, beh, beh</title><content type='html'>Perchè non esistono librerie decenti che interpretino Prolog? Perchè non esistono planner per C#? perchè non si può avere la libreria AIMA con un pò di parallelismo? perchè? perchè? perchè? :@&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-4903532627212849568?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/4903532627212849568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=4903532627212849568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/4903532627212849568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/4903532627212849568'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2008/10/beh-beh-beh.html' title='Beh, beh, beh'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-3653715812318553743</id><published>2008-09-30T07:28:00.000-07:00</published><updated>2009-01-22T04:15:55.737-08:00</updated><title type='text'>parlare di predicibilità...</title><content type='html'>&lt;div&gt;Oggi ho scoperto cose mistiche su VS2008... ad esempio che bisogna creare ogni volta la cartella (del progetto, della soluzione, ecc)... Grazie Guido!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vi posto un estratto di codice, giusto per divertirsi... e per riaprire questo gioioso blog! :D&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre name="code" class="Cpp"&gt;string temp = solution.GetProjectTemplate("SequentialWorkflowLibrary.zip", "CSharp");&lt;br /&gt;Directory.CreateDirectory(where + "\\WFlow");&lt;br /&gt;solution.AddFromTemplate(temp, where + "\\WFlow", "WFlow", false);&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;e ora cerchiamo di capire come si mette del codice in un metodo... :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-3653715812318553743?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/3653715812318553743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=3653715812318553743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/3653715812318553743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/3653715812318553743'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2008/09/parlare-di-predicibilit.html' title='parlare di predicibilità...'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-6291580089819960498</id><published>2008-09-01T19:13:00.000-07:00</published><updated>2009-02-06T11:04:25.767-08:00</updated><title type='text'>“Sia l’oggetto” e l’oggetto fu</title><content type='html'>Come possiamo rappresentare la realtà? Possiamo essere dichiarativi e dire che la coda è una proprietà di cavallo, possiamo essere imperativi e dire che cavallo ha una coda. Oppure possiamo essere “ad oggetti” e dare un punto di vista diverso sul nostro cavallo. Niklaus Wirth diceva “Programma = Dati + Algoritmi”. Indubbiamente vero, ma cercare di spiegare il funzionamento di una grande multinazionale parlando di “dati” e “algoritmi” non è prettamente cosa facile. O per lo meno non lo è utilizzare solo tipi di dato primitivi. Il paradigma ad oggetti non è infatti molto lontano da quello imperativo procedurale. Solo che invece di avere “Programma = Dati + Algoritmi” diventa “Realtà = Entità + Relazioni” o, in un’ottica più legata all’interazione attiva, “Programma = Oggetti + Interazioni”.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Detto questo, non ci resta che definire Oggetto e Interazione.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Un oggetto è la descrizione astratta di un’entità. Una sua versione utilizzabile è un’istanza. Cavallo è un concetto chiaro nella nostra mente, ma nella nostra mente un cavallo esiste solo come informazione. Un cavallo reale è un’istanza del nostro modello di cavallo, del nostro oggetto “Cavallo” (si, lo so, il paragone è forte e dire che il cavallo reale è un’istanza del nostro modello mentale può sembrare forte, ma ci addentreremo in altri momenti nella questione filosofica della differenza tra percezione della realtà e realtà).&lt;br /&gt;Come Cavallo è un tipo di oggetto chiaro nella nostra mente e “istanziabile”, così non è il concetto di Animale. Un cavallo è un animale, ma non tutti gli animali sono cavalli. E non esiste un Animale “puro”, ovvero che non sia nulla di più specifico di un animale. Questo genere di classe è detta “astratta”, e non è mai istanziabile in modo diretto. Ora facciamo un ulteriore salto verso l’astrazione. Sia un animale, che abbiamo già visto essere astratto, che una pianta (per similitudine la supporremo anch’essa astratta) hanno la caratteristica di essere “viventi”. Hanno quindi delle proprietà caratteristiche quali (tanto per fare dei nomi) un certo numero di cellule, possono vivere e morire. Ma queste caratteristiche sono effettivamente diverse all’interno di entrambe le tipologie di esseri viventi. Cionondimeno il fatto che qualcuno ci dica che ad un nostro amico è stato regalato un “essere vivente” (per quanto infinitamente vaga possa essere questa affermazione) ci permette di dedurre che l’entità che gli è stata regalata è nata, può morire, ecc. Questo tipo di informazione (che definisce solo le caratteristiche ma non il modo di valutarle) è detta nel paradigma ad oggetti Interfaccia. Quindi, gerarchicamente, possiamo vedere che un cavallo (classe) è un animale (classe astratta), che a sua volta è un essere vivente (interfaccia), così come una rosa (classe) è una pianta (classe astratta) che è a sua volta un essere vivente (interfaccia).&lt;br /&gt;&lt;br /&gt;Le &lt;span style="font-style:italic;"&gt;interazioni &lt;/span&gt;possono essere di due tipi. Vi sono le interazioni di tipo strutturale, ovvero che definiscono una gerarchia tra gli oggetti (come tra cavallo e animale), e di tipo diretto, che definiscono l’uso di un oggetto da parte di altri oggetti. Le interazioni di tipo strutturale sono ad esempio&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;la &lt;span style="font-style:italic;"&gt;generalizzazione&lt;/span&gt;, ovvero la constatazione che sia cavallo che foca sono animali e quidni posseggono tutte le caratteristiche degli animali, e inoltre hanno, separatamente, delle caratteristiche in più. La classe astratta “animale” è detta classe padre, le classi “foca”, “cavallo” sono dette classi figlio.&lt;/li&gt;&lt;li&gt;la &lt;span style="font-style:italic;"&gt;realizzazione&lt;/span&gt;, ovvero la considerazione che un animale, essendo un essere vivente, ne realizza in modo peculiare le caratteristiche e le proprietà&lt;/li&gt;&lt;/ul&gt;Le interazioni di tipo diretto sono invece definite dai metodi all’interno delle singole classi. Quindi l’interazione tipica è l’uso di un dato metodo all’interno di un dato oggetto.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-6291580089819960498?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/6291580089819960498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=6291580089819960498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/6291580089819960498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/6291580089819960498'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2008/09/sia-loggetto-e-loggetto-fu.html' title='“Sia l’oggetto” e l’oggetto fu'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-115416144727899924</id><published>2006-07-29T01:24:00.000-07:00</published><updated>2006-11-07T10:48:11.968-08:00</updated><title type='text'>Finito. (gli aggiornamenti non sono stati frequenti, ma...)</title><content type='html'>Lo so, sono un idiota. "Se non hai tempo di postare, chiudi." diceva un grande teoirco del blog. La mia risposta &amp;egrave; se non ho tempoper postare non ho tempo nemmeno per chiudere. &lt;br&gt;&lt;br /&gt;In ogni caso &amp;egrave; finita.&lt;br&gt;&lt;br /&gt;Mercoled&amp;igrave; scorso ho discusso la tesi su Windows Workflow Foundation con un risultato di 105. Va benissimo, sono contento. Per&amp;ograve; questo non implica che smetter&amp;ograve; di giocherellare con i diagrammi di flusso e di stato. Anzi. Appena torno da NYC inizier&amp;ograve; a lavorare ad alcune idee che mi erano venute...&lt;br /&gt;E - stavolta non mi dimenticher&amp;ograve; - vi terr&amp;ograve; aggiornati sulle genialit&amp;agrave; di WWF.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-115416144727899924?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/115416144727899924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=115416144727899924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/115416144727899924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/115416144727899924'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/07/finito-gli-aggiornamenti-non-sono.html' title='Finito. (gli aggiornamenti non sono stati frequenti, ma...)'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-114867192941094354</id><published>2006-05-26T12:32:00.000-07:00</published><updated>2006-11-07T10:48:11.913-08:00</updated><title type='text'>Prima Prerelease... Molte domande poche risposte</title><content type='html'>Dunque: Presentazione effettuata mercoled&amp;igrave; scorso. Le domande poste dal prof. N. sono tante. E sono estremamente interessanti. Da analizzare. Ma ci vuole tempo: Marted&amp;igrave; nuovo briefing dal prof. B. Vediamo se si riesce ad arrivare ad una soluzione anche parziale dei problemi posti. Due nuove presentazioni in arrivo: Una improntata sul WF Runtime Environment e una sulle sfide poste dal prof. N. Garantisco (il mio processore non ne era affatto felice) che il "ping-pong test" ha fnzionato...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-114867192941094354?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/114867192941094354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=114867192941094354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114867192941094354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114867192941094354'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/05/prima-prerelease-molte-domande-poche.html' title='Prima Prerelease... Molte domande poche risposte'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-114832031026438246</id><published>2006-05-22T10:51:00.000-07:00</published><updated>2006-11-07T10:48:11.852-08:00</updated><title type='text'>Buttare giù esempi d'uso...</title><content type='html'>Non &amp;egrave; affatto facile quanto sembra. Anzi. Direi che trovare esempi &lt;i&gt;sensati&lt;/i&gt; &amp;egrave; decisamente dura... Ma la vera complessit&amp;agrave; &amp;egrave; riuscire a mettere in risalto la genialit&amp;agrave; dello strumento senza tergiversare su piccolezze [di per s&amp;egrave; estremamente complesse da gestire, intendiamoci, come le property e l'introspection]. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-114832031026438246?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/114832031026438246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=114832031026438246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114832031026438246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114832031026438246'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/05/buttare-gi-esempi-duso.html' title='Buttare gi&amp;ugrave; esempi d&apos;uso...'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-114777423363512210</id><published>2006-05-16T03:10:00.000-07:00</published><updated>2006-11-07T10:48:11.742-08:00</updated><title type='text'>Work in progress</title><content type='html'>Sto al momento lavorando alla presentazione si WinFX e Workflow Foundation. I webcast MSDN sono impressionantemente utili (e sono anche al momento l'unica fonte di informazioni che ho trovato). &lt;br&gt;&lt;br /&gt;Ecco i link alla versione "pre-pre-pre alpha" della presentazione &lt;a href="http://www.mmo.it/uni/tesi_triennale/pre_slides/WinFX.pdf" target="_blank"&gt;pdf (1.6 MB)&lt;/a&gt; - &lt;a href="http://www.mmo.it/uni/tesi_triennale/pre_slides/WinFX.swf" target="_blank"&gt;swf (217kb)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-114777423363512210?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/114777423363512210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=114777423363512210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114777423363512210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114777423363512210'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/05/work-in-progress.html' title='Work in progress'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-114665150512951340</id><published>2006-05-03T03:18:00.000-07:00</published><updated>2006-11-07T10:48:11.665-08:00</updated><title type='text'>BTW: come si può non amare VS2005???</title><content type='html'>Quello che vedete sotto &amp;egrave; il risultato diretto del copia-incolla!!! :o Come si pu&amp;ograve; non adorare quello strumento di potere... :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-114665150512951340?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/114665150512951340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=114665150512951340' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114665150512951340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114665150512951340'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/05/btw-come-si-pu-non-amare-vs2005.html' title='BTW: come si pu&amp;ograve; non amare VS2005???'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-114665128749324719</id><published>2006-05-03T03:14:00.000-07:00</published><updated>2006-11-07T10:48:11.592-08:00</updated><title type='text'>Testiamo le activity...</title><content type='html'>Interessante la struttura delle Acivity. Sto cercando di fare un apiccola libreria di attivit&amp;agrave; legate alla console. Lo so, c'&amp;egrave; la CodeActivity che &amp;egrave; fatta apposta, ma speravo di raggiungere una specializzazione molto maggiore. Una specie di ncurses per Workflow. &lt;br /&gt;&lt;br /&gt;Ecco un (umilissimo e stupido) esempio di codice&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;font color="#0000FF" size=2&gt;public &lt;font color="#0000FF" size=2&gt;partial &lt;font color="#0000FF" size=2&gt;class &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;ConsoleWrite&lt;/font&gt;&lt;font size=2&gt;: &lt;/font&gt;&lt;font color="#008080" size=2&gt;Activity&lt;/font&gt;&lt;br /&gt;&lt;font size=2&gt;{&lt;/font&gt;&lt;br /&gt;   &lt;font color="#0000FF" size=2&gt;private &lt;font color="#0000FF" size=2&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; _message;&lt;/font&gt;&lt;br /&gt;   &lt;font color="#0000FF" size=2&gt;public &lt;font color="#0000FF" size=2&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; Message {&lt;/font&gt;&lt;br /&gt;      &lt;font color="#0000FF" size=2&gt;set &lt;/font&gt;&lt;font size=2&gt;{ _message = &lt;/font&gt;&lt;font color="#0000FF" size=2&gt;value&lt;/font&gt;&lt;font size=2&gt;; }&lt;/font&gt;&lt;br /&gt;      &lt;font color="#0000FF" size=2&gt;get &lt;/font&gt;&lt;font size=2&gt;{ &lt;/font&gt;&lt;font color="#0000FF" size=2&gt;return&lt;/font&gt;&lt;font size=2&gt; _message; }&lt;br /&gt;   }&lt;/font&gt;&lt;br /&gt;   &lt;font color="#0000FF" size=2&gt;private &lt;font color="#0000FF" size=2&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; _nl;&lt;/font&gt;&lt;br /&gt;   &lt;font color="#0000FF" size=2&gt;public &lt;font color="#0000FF" size=2&gt;bool&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; NewLine {&lt;/font&gt;&lt;br /&gt;      &lt;font color="#0000FF" size=2&gt;set &lt;/font&gt;&lt;font size=2&gt;{ _nl = &lt;/font&gt;&lt;font color="#0000FF" size=2&gt;value&lt;/font&gt;&lt;font size=2&gt;; }&lt;/font&gt;&lt;br /&gt;      &lt;font color="#0000FF" size=2&gt;get &lt;/font&gt;&lt;font size=2&gt;{ &lt;/font&gt;&lt;font color="#0000FF" size=2&gt;return&lt;/font&gt;&lt;font size=2&gt; _nl; }&lt;br /&gt;   }&lt;br /&gt;   &lt;/font&gt;&lt;font color="#0000FF" size=2&gt;public&lt;/font&gt;&lt;font size=2&gt; ConsoleWrite()&lt;br /&gt;   {&lt;br /&gt;      InitializeComponent();&lt;br /&gt;   }&lt;/font&gt;&lt;br /&gt;   &lt;font color="#0000FF" size=2&gt;protected &lt;font color="#0000FF" size=2&gt;override &lt;/font&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;ActivityExecutionStatus&lt;/font&gt;&lt;br /&gt;            &lt;font size=2&gt; Execute(&lt;/font&gt;&lt;font color="#008080" size=2&gt;ActivityExecutionContext&lt;/font&gt;&lt;font size=2&gt;  executionContext)&lt;br /&gt;   {&lt;/font&gt;&lt;br /&gt;      &lt;font color="#008080" size=2&gt;Console&lt;/font&gt;&lt;font size=2&gt;.Write(Message);&lt;/font&gt;&lt;br /&gt;      &lt;font color="#0000FF" size=2&gt;if&lt;/font&gt;&lt;font size=2&gt; (NewLine) &lt;/font&gt;&lt;font color="#008080" size=2&gt;Console&lt;/font&gt;&lt;font size=2&gt;.WriteLine();&lt;/font&gt;&lt;br /&gt;      &lt;font color="#0000FF" size=2&gt;return &lt;font color="#0000FF" size=2&gt;base&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.Execute(executionContext);&lt;br /&gt;   }&lt;br /&gt;}&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-114665128749324719?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/114665128749324719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=114665128749324719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114665128749324719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114665128749324719'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/05/testiamo-le-activity_114665128749324719.html' title='Testiamo le activity...'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27463577.post-114665021572497303</id><published>2006-05-03T02:56:00.000-07:00</published><updated>2006-11-07T10:48:11.349-08:00</updated><title type='text'>Inizia il lavoro per la tesi!!!</title><content type='html'>In occasione dell'inizio del lavoro per la tesi su Windows Workflow Foundation ho aperto un nuovo blog.&lt;br /&gt;Pubblicher&amp;ograve; un p&amp;ograve; tutto quello che trovo di interessante.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27463577-114665021572497303?l=mmosharp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mmosharp.blogspot.com/feeds/114665021572497303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27463577&amp;postID=114665021572497303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114665021572497303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27463577/posts/default/114665021572497303'/><link rel='alternate' type='text/html' href='http://mmosharp.blogspot.com/2006/05/inizia-il-lavoro-per-la-tesi.html' title='Inizia il lavoro per la tesi!!!'/><author><name>Marco Montanari</name><uri>https://profiles.google.com/116756083494327909138</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-7B9zsshsVdE/AAAAAAAAAAI/AAAAAAAABeA/yq9ynomYG8M/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
