<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4368759114883688663</atom:id><lastBuildDate>Fri, 01 Mar 2013 18:21:37 +0000</lastBuildDate><category>archiviazione</category><category>ricorsione</category><category>Alfateam's Personal Money Manager</category><category>gara informatica 2010</category><category>parallelismo</category><category>fix audio</category><category>autogestione</category><category>valutazione</category><category>gite</category><category>UnderAttHack</category><category>99 bottles of beer</category><category>Mentos</category><category>Mathematica</category><category>netusers.it</category><category>exceptions</category><category>regole</category><category>test</category><category>awk</category><category>Eepybird</category><category>Wikileaks</category><category>music recommender systems</category><category>progetti open source</category><category>il mondo scoppia di salute</category><category>#digitalia</category><category>tagfil.es</category><category>statistiche</category><category>hg</category><category>ezine</category><category>widget ingombranti</category><category>algoritmi</category><category>devshed</category><category>SMFN</category><category>Logo</category><category>floatman</category><category>come riavere i 25 gigabyte su skydrive</category><category>skydrive</category><category>lego</category><category>jQuery</category><category>imparare a programmare</category><category>advice</category><category>bluestacks</category><category>mentor.fm</category><category>Y U NO USE OPEN DATA FORMATS</category><category>java</category><category>wifi</category><category>microsoft mathematics 4</category><category>DLL</category><category>algoritmi genetici</category><category>OpenOffice</category><category>opinioni</category><category>bada</category><category>programmazione</category><category>software per studenti</category><category>rocs</category><category>imparare a pensare</category><category>RFRracing</category><category>catena di montaggio</category><category>mathPlotting</category><category>linguaggio naturale</category><category>fantasia</category><category>Lerici</category><category>recensione</category><category>numpy</category><category>android</category><category>led zeppelin... is't TRUE ROCK"</category><category>Parallel Road Rage</category><category>come sprecare coca cola e mentos</category><category>formato proprietario</category><category>ottimizzazione</category><category>installare librerie</category><category>rikomagic</category><category>occupazione</category><category>DLM</category><category>progetto di maturità</category><category>ProgeTiiger</category><category>risoluzione funzioni</category><category>pensare</category><category>Half Life 3</category><category>unpacking</category><category>matplotlib</category><category>app inventor</category><category>computer algebra system</category><category>ASUS motherboards</category><category>welcome to the jungle</category><category>new features of bada 2.0</category><category>creating 2d arrays</category><category>macchine di turing</category><category>angry birds space</category><category>lanciatore</category><category>Windows 8</category><category>javascript</category><category>collaborazioni tecniche</category><category>less is more</category><category>unittest</category><category>notte dei ricercatori</category><category>hl3</category><category>PyLogo</category><category>media center</category><category>funzioni in mathematics 4</category><category>mirror</category><category>progetti</category><category>irc bot</category><category>bada 2.0</category><category>servizi web</category><category>youtube</category><category>dijkstra</category><category>OpenMP</category><category>C++</category><category>ifttt</category><category>newbies</category><category>ENEA</category><category>euler project</category><category>audio not working on win8</category><category>petizione</category><category>santana</category><category>hdmi</category><category>gara nazionale di programmazione della macchina di turing</category><category>python</category><category>Wolfram|Alpha</category><category>bat</category><category>lego mindstorms</category><category>analisi</category><category>valve</category><category>Pisa</category><category>esame di maturità 2012</category><category>software open source</category><category>trigonometry</category><category>csv</category><category>grafici</category><category>sperimentare</category><category>riforma gelmini</category><category>complessità computazionale</category><category>fattoriale</category><category>accounts</category><category>backtracking</category><category>linux</category><category>musica</category><category>learn to code</category><category>Free Access for bada Developers own Apps</category><category>tricks</category><category>scuola</category><category>new guys can't code</category><category>internet security</category><category>guns'n'roses</category><category>Office</category><category>PyLinX</category><category>sys</category><category>tutorial</category><category>matematica</category><category>pubblica amministrazione</category><category>Merry whatever does not offend you</category><category>arity</category><category>sede madri ASUS</category><category>incompetenza informatica</category><category>berkeley</category><category>sourceforgee</category><category>Coca Cola Zero</category><category>articolo</category><category>on{x}</category><category>hello_world</category><category>bitbucket</category><category>programmi di calcolo</category><category>ottimizzazione combinatoria</category><category>"slash</category><category>BadaItalia</category><category>angry birds</category><category>natale</category><category>mfl</category><category>mk802</category><category>Gordon Freeman</category><category>Italian public administration</category><category>pierotofy</category><category>microsoft</category><category>Open Data Formats</category><category>emulatori</category><category>automatizzare</category><category>Samsung</category><category>interferenze</category><category>webapp</category><category>complessittà computazionale</category><category>RAD</category><category>mercurial</category><category>slash</category><category>Windows Dev Preview</category><title>alfateam123's blog</title><description>never ending beta blog</description><link>http://deltatheprogrammer.blogspot.com/</link><managingEditor>noreply@blogger.com (alfateam123)</managingEditor><generator>Blogger</generator><openSearch:totalResults>57</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/rss+xml" href="http://feeds.feedburner.com/Alfateam123sBlog" /><feedburner:info uri="alfateam123sblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-4086120299766715970</guid><pubDate>Tue, 25 Dec 2012 17:09:00 +0000</pubDate><atom:updated>2012-12-25T18:09:27.305+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">natale</category><category domain="http://www.blogger.com/atom/ns#">Merry whatever does not offend you</category><category domain="http://www.blogger.com/atom/ns#">il mondo scoppia di salute</category><title>Merry whatever doesn't offend you!</title><description>Alla fine, ci siamo arrivati. Felici vacanze!&lt;br /&gt;
&lt;blockquote class="twitter-tweet" lang="it"&gt;
Il regime di Assad getta bombe sulla popolazione. e sì, il regime dà la colpa alla fazione opposta. Nessuno si ricorda di "1984"?&lt;br /&gt;
— alessandro balzano (@alfateam123) &lt;a data-datetime="2012-12-24T20:36:44+00:00" href="https://twitter.com/alfateam123/status/283310261077692416"&gt;Dicembre 24, 2012&lt;/a&gt;&amp;nbsp;&lt;/blockquote&gt;
&lt;script async="async" charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;blockquote class="twitter-tweet" lang="it"&gt;
L'uscita di &lt;a href="https://twitter.com/search/%23Monti"&gt;#Monti&lt;/a&gt; e il ritorno di &lt;a href="https://twitter.com/search/%23Berlusconi"&gt;#Berlusconi&lt;/a&gt; visti dal disegnatore russo Tiunin&lt;a href="http://t.co/uiVDLrgz" title="http://twitpic.com/bn0mu8"&gt;twitpic.com/bn0mu8&lt;/a&gt;&lt;br /&gt;
— Presseurop (@PresseuropIT) &lt;a data-datetime="2012-12-18T10:28:13+00:00" href="https://twitter.com/PresseuropIT/status/280982794170146817"&gt;Dicembre 18, 2012&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async="async" charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;blockquote class="twitter-tweet" lang="it"&gt;
Ancora sparatorie negli Usa: un morto a Seattle, uccisi pompieri a Rochester: I vigili del fuoco erano stati chi... &lt;a href="http://t.co/bTOXSwmU" title="http://bit.ly/VqyJ3F"&gt;bit.ly/VqyJ3F&lt;/a&gt;&lt;br /&gt;
— Agenzia ANSA (@ansa_live) &lt;a data-datetime="2012-12-24T16:55:19+00:00" href="https://twitter.com/ansa_live/status/283254541200269312"&gt;Dicembre 24, 2012&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async="async" charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;blockquote class="twitter-tweet" lang="it"&gt;
Nigeria, Farnesina: pirati sequestrano tre italiani: Erano a bordo di un rimorchiatore al largo di Bayelsa. Ness... &lt;a href="http://t.co/dh5T2SmM" title="http://bit.ly/Y7xCZ2"&gt;bit.ly/Y7xCZ2&lt;/a&gt;&lt;br /&gt;
— Agenzia ANSA (@ansa_live) &lt;a data-datetime="2012-12-24T16:55:20+00:00" href="https://twitter.com/ansa_live/status/283254542156591104"&gt;Dicembre 24, 2012&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async="async" charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;
&lt;blockquote class="twitter-tweet" lang="it"&gt;
Spread Btp-Bund apre sopra 300 punti, Borse europee aprono in calo: Rendimento al 4,43% &lt;a href="http://t.co/Om5r3EDZ" title="http://bit.ly/UTCMXf"&gt;bit.ly/UTCMXf&lt;/a&gt;&lt;br /&gt;
— Agenzia ANSA (@ansa_live) &lt;a data-datetime="2012-12-21T11:51:55+00:00" href="https://twitter.com/ansa_live/status/282091024325697536"&gt;Dicembre 21, 2012&lt;/a&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Come non essere felici quando il mondo scoppia (letteralmente?) di salute! Dai, non si può non essere contenti!&amp;nbsp;Non è questa la bella atmosfera del Natale? No?&lt;br /&gt;
Vabbè, buon qualsiasicosanontioffenda, ci risentiamo il prossimo anno.&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/9-gNNmn-iZc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/9-gNNmn-iZc/merry-whatever-doesnt-offend-you.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/12/merry-whatever-doesnt-offend-you.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-923459508531246121</guid><pubDate>Thu, 08 Nov 2012 22:07:00 +0000</pubDate><atom:updated>2012-11-08T23:21:31.365+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Gordon Freeman</category><category domain="http://www.blogger.com/atom/ns#">valve</category><category domain="http://www.blogger.com/atom/ns#">Half Life 3</category><category domain="http://www.blogger.com/atom/ns#">opinioni</category><category domain="http://www.blogger.com/atom/ns#">hl3</category><title>Half Life 3?</title><description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;br /&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:HyphenationZone&gt;14&lt;/w:HyphenationZone&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;IT&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if !supportAnnotations]--&gt;&lt;!--[endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:"Tabella normale";
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-parent:"";
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin-top:0cm;
 mso-para-margin-right:0cm;
 mso-para-margin-bottom:10.0pt;
 mso-para-margin-left:0cm;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:"Calibri","sans-serif";
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:"Times New Roman";
 mso-bidi-theme-font:minor-bidi;
 mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
Half Life 3 può subire solo tre sorti: tornare ad essere il re degli
sparatutto in prima persona, essere un flop (e trascinarsi nel baratro tutto il
resto della bellissima saga) oppure rimanere vaporware.&lt;br /&gt;
Ovviamente tutti noi speriamo di poter rigiocare con Gordon, ma ho seri dubbi
che la saga possa avere realmente un terzo capitolo. No, non perché Gaben non
sappia contare fino a tre, ho dei motivi decisamente più seri.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Immagino che tutti voi abbiate letto la notizia (rivelatasi &lt;u&gt;ovviamente&lt;/u&gt;
un fake) su HL3 esclusiva [Ubuntu] Linux. Se la notizia fosse stata vera,
avrebbe implicato due cose: la seria intenzione –da parte di Valve- di rendere
Linux un OS per il gaming (di questo ne parliamo in un prossimo post) e, caso strano, l’esistenza
di HL3.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Della serie del fisico di Black Mesa ho giocato solo ad HL1
(sia in versione pre-Source che nella versione Black Mesa [la versione fatta dai modder con il Source, non quella ufficiale]), ma mi è bastato per appassionarmi alla serie: non vedo l’ora di
uccidere ogni fo**uto headcrab/Combine/* che mi capiti a
tiro :D&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Una cosa è comune a tutti i giochi Valve: finché il gioco non è
pronto non viene pubblicato. Questa cura nei dettagli del gioco è
comune a tutti i modders, e Valve è composta (tra un genio e &lt;a href="http://leganerd.com/2012/07/23/commodore-64-trasformato-in-un-basso-elettrico-8-bit/" rel="nofollow" style="mso-comment-date: 20121108T0753; mso-comment-reference: ab_1;" target="_blank"&gt;l’altro&lt;/a&gt;&lt;span class="MsoCommentReference"&gt;&lt;span style="font-size: 8.0pt; line-height: 115%;"&gt;&lt;span style="mso-special-character: comment;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;)
da modders. Se stanno &lt;a href="http://www.videogame.it/valve-software/104323/gabe-newell-parla-di-hl3-piu-o-meno.html" rel="nofollow" style="mso-comment-date: 20121108T1831; mso-comment-reference: ab_2;" target="_blank"&gt;ancora&lt;/a&gt;&lt;span class="MsoCommentReference"&gt;&lt;span style="font-size: 8.0pt; line-height: 115%;"&gt;&lt;span style="mso-special-character: comment;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
sviluppando HL3 vuol dire che molti &lt;a href="http://www.oxm.co.uk/45973/half-life-3-is-open-world-will-release-after-2013-valve-source/" rel="nofollow" style="mso-comment-date: 20121108T1831; mso-comment-reference: ab_3;" target="_blank"&gt;dettagli&lt;/a&gt;&lt;span class="MsoCommentReference"&gt;&lt;span style="font-size: 8.0pt; line-height: 115%;"&gt;&lt;span style="mso-special-character: comment;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
(storia, stile del gameplay…) devono ancora essere fissati.&lt;br /&gt;
Ed ecco il punto secondo il quale HL3 potrebbe essere un flop: i fan della saga
potrebbero non apprezzare un gameplay totalmente nuovo o la storia od altri particolari e
quindi sconsigliare il titolo. Il flop ovviamente non sarà dal punto di vista
delle vendite (al day one i server di Steam andranno down, immaginate perché :D) ma
le critiche potrebbero essere moltissime, talmente tante da rovinare la fama del titolo.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
L’alternativa al flop e al successo mondiale è il rimanere vaporware,
e forse questa è la soluzione migliore. Sì, forse non è l’opinione più popolare,
ma il mistero alimenta la fantasia, e un gioco con così tanto hype non ha mai
stimolato così tanto la fantasia dei fan della serie. Ho sentito (in giro su internet) diverse idee,
una delle migliori è far incrociare le strade di Gordon e di Chell (la
protagonista di Portal): perché qualcuno non prova a realizzarla? Una delle
tante possibili idee… insomma, la fantasia è stata scatenata, gli sviluppatori
hanno un’enorme massa di idee da cui poter prendere ispirazione per nuovi
giochi&amp;nbsp;e/o spinoff della saga originale. &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;
Ovviamente ognuno avrà la sua opinione, questa è la mia. Se volete, commentate
qui sotto per dire la vostra.&lt;br /&gt;
Stay tuned!&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/6lG_kjWgUTQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/6lG_kjWgUTQ/half-life-3.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/11/half-life-3.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-2016576400775591480</guid><pubDate>Mon, 17 Sep 2012 14:09:00 +0000</pubDate><atom:updated>2012-09-17T16:10:20.601+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">imparare a pensare</category><category domain="http://www.blogger.com/atom/ns#">imparare a programmare</category><category domain="http://www.blogger.com/atom/ns#">learn to code</category><category domain="http://www.blogger.com/atom/ns#">pensare</category><category domain="http://www.blogger.com/atom/ns#">ProgeTiiger</category><title>Imparare a programmare o imparare a pensare?</title><description>&lt;div&gt;
Disclaimer: scrivo codice per passione, presto lo scriverò per lavoro e ho una forma mentis da tecnico. Più che scrivere codice mi piace risolvere il problema, magari usando _anche_ del codice.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Non è certo una novità, la discussione sull'insegnamento della programmazione a tutte le età. &lt;br /&gt;
Oggi ho visto, nella &lt;a href="http://twitter.com/i/#!/search?q=%23digitalia"&gt;redazione distribuita&lt;/a&gt; di &lt;a href="http://digitalia.fm/"&gt;Digitalia&lt;/a&gt;, ho visto un interessante tweet, che riportava la notizia di &lt;a href="http://www.ilpost.it/2012/09/17/in-estonia-si-insegna-ai-bambini-a-programmare/"&gt;corsi di programmazione nelle scuole estoni&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;blockquote class="tr_bq"&gt;
[...] L'idea del progetto, infatti, è cambiare radicalmente l'atteggiamento dei bambini nei confronti dei computer e dell'informatica, dando loro le prime competenze perché acquisiscano un rapporto "padrone" e consapevole con la tecnologia. Per farlo, secondo Lauringson, l'unico modo è cominciare il più presto possibile a capire come funzionano le cose. [...]&lt;/blockquote&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
In un articolo “correlato”&lt;a href="http://www.forbes.com/sites/parmyolson/2012/09/06/why-estonia-has-started-teaching-its-first-graders-to-code/" rel="nofollow" target="_blank"&gt; su Forbes&lt;/a&gt; si dice&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
For the youngest students, the new courses &amp;nbsp;won’t be strictly focused on learning programming languages like Java, Perl and C++. Rather they’ll ease kids into the necessary skills for coding like logic, which has the benefit of some overlap with subjects like math and potentially, robotics.&lt;/blockquote&gt;
Certo, l'idea di insegnare a programmare non è nuova. Probabilmente nessuno si ricorda dell'interessante &lt;a href="http://www.ceebot.com/colobot/index-e.php" target="_blank"&gt;progetto Colobot&lt;/a&gt;, un piccolo progetto polacco precursore di tutte le iniziative&amp;nbsp;per “imparare a programmare”, partendo dal famoso CodeYear all'economica scheda programmabile Raspberry Pi per finire al ProgeTiiger di cui stiamo parlando ora.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Siamo sicuri di aver necessità di imparare a &lt;i&gt;programmare&lt;/i&gt;? O dovremmo forse imparare a &lt;b&gt;pensare&lt;/b&gt;?&lt;/div&gt;
&lt;div&gt;
Ben vengano iniziative che permettano di migliorare capacità come &lt;b&gt;il ragionamento logico&lt;/b&gt;&amp;nbsp;&lt;b&gt;e critico&lt;/b&gt;, ma non è corretto insegnare ai bambini a &lt;i&gt;scrivere codice&lt;/i&gt;: &lt;a href="http://www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html" rel="nofollow" target="_blank"&gt;non è ciò che serve&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Il codice è un mezzo, non il fine. &lt;b&gt;Se&lt;/b&gt; serve a&lt;b&gt; migliorare le capacità di modellizzazione e problem solving&lt;/b&gt; sono favorevole, ma è inutile, se non dannoso, dire "per domani voglio 30 righe di codice in [[linguaggio]]". Inoltre, bisogna considerare il non poco importante problema della "&lt;a href="http://deltatheprogrammer.blogspot.com/2011/05/why-new-guy-cant-code.html" target="_blank"&gt;scrittura a casaccio di codice&lt;/a&gt;", senza effettivamente capire come funzionano le cose e comprendere i problemi, la scomposizione in sottoproblemi, il tempo di esecuzione, l'uso corretto delle strutture dati... tante cose importanti che distinguono un buon programmatore da un code monkey.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
"Il mondo è stato cambiato da persone che sanno programmare, dobbiamo insegnare come programmare ai giovani di domani", potreste dire. No, il mondo ora ha prodotti tecnologici di altissimo valore semplicemente perché degli &lt;b&gt;appassionati&lt;/b&gt; hanno creato &lt;a href="http://it.wikisource.org/wiki/La_cattedrale_e_il_bazaar" rel="nofollow" target="_blank"&gt;ciò che gli serviva&lt;/a&gt; o gli è venuto in mente. Il lavoro di programmatore è un lavoro che richiede passione, molto più di altri lavori: non è una passione trasmissibile a tutti; e soprattutto &lt;a href="http://arstechnica.com/information-technology/2012/09/is-it-true-that-not-everyone-can-be-a-programmer/" rel="nofollow" target="_blank"&gt;non tutti possono&amp;nbsp;essere programmatori&lt;/a&gt;: possono mancare le capacità, la voglia, lo stimolo... è inutile forzare l'insegnamento di qualcosa che non applicheranno in pratica.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ripeto: più di concentrarci sulla &lt;i&gt;capacità di scrivere codice&lt;/i&gt;, bisognerebbe preoccuparci di &lt;b&gt;ragionare&lt;/b&gt;. Sembra una stupidaggine, ma non tutti sfruttano il potente calcolatore all'interno del cranio nel migliore dei modi. &lt;b&gt;Imparare&lt;/b&gt; a pensare, a ragionare, porsi dubbi, &lt;b&gt;cercare soluzioni, applicare le conoscenze e sfruttarle per risolvere problemi.&lt;/b&gt;&amp;nbsp;Competenze.&lt;/div&gt;
&lt;div&gt;
Programmando si possono assumere diverse competenze - per esempio scomporre i problemi in sottoproblemi o formalizzare in maniera chiara delle soluzioni - ma sono abilità che si possono apprendere indipendentemente dalla programmazione. &lt;b&gt;Basta solo pensare, rimuginare, analizzare, tentare di capire&lt;/b&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Spero di essere stato chiaro, se volete rispondere al post scrivete un commento o (se avete bisogno di più spazio) scrivete sul vostro blog/tumblr e fatemelo sapere. Stay updated!&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/e2wzjvN0G44" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/e2wzjvN0G44/imparare-programmare-o-imparare-pensare.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>3</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/09/imparare-programmare-o-imparare-pensare.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-7655846308885874170</guid><pubDate>Fri, 14 Sep 2012 13:52:00 +0000</pubDate><atom:updated>2012-09-14T15:52:40.683+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SMFN</category><category domain="http://www.blogger.com/atom/ns#">valutazione</category><category domain="http://www.blogger.com/atom/ns#">Pisa</category><category domain="http://www.blogger.com/atom/ns#">analisi</category><category domain="http://www.blogger.com/atom/ns#">tagfil.es</category><category domain="http://www.blogger.com/atom/ns#">statistiche</category><title>Test valutazione SMFN: analisi dei punteggi</title><description>Ciao a tutti!&lt;br /&gt;
Il 12 ho fatto il test di valutazione delle competenze a Pisa, e sono passato :D&lt;br /&gt;
Mi è venuta una curiosità: quante persone hanno passato il test? E com'è andata negli anni precedenti?&amp;nbsp;(Sì, sono un nerd, mi piace fare analisi, leggere grafici e cose di questo tipo &amp;nbsp;:D)&lt;br /&gt;
&lt;br /&gt;
Nota sul test: l'attuale prova di valutazione delle competenze è uguale a livello nazionale, dato che è redatta da un ente statale (nel famoso "Progetto Lauree Scientifiche") che le fornisce alla maggior parte delle facoltà SMFN italiane. Quest'analisi è redatta sui dati forniti dalla facoltà SMFN dell'Università di Pisa, ma si potrebbero fare delle valutazioni sui dati di altri atenei per poter fare statistiche locali e valutare la preparazione dei matricolandi per regione o per università di appartenenza.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zzBtS6HQG-E/UFMwVqlacOI/AAAAAAAAAIg/OjxWrS697Vk/s1600/panoramica_completa_test.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="289" src="http://4.bp.blogspot.com/-zzBtS6HQG-E/UFMwVqlacOI/AAAAAAAAAIg/OjxWrS697Vk/s640/panoramica_completa_test.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;andamento del punteggio dal 2009 al 2012&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Sul &lt;a href="http://www.smfn.unipi.it/prova_ingresso/Forms/AllItems.aspx" target="_blank"&gt;sito della facoltà&lt;/a&gt; si possono ottenere i dati "sfusi", ovvero delle lunghissime liste di codici fiscali e punteggi. E chi ha voglia di mettersi a contare? Io l'ho fatto fare al mio caro pitone, e ho messo su un foglio di calcolo per fare grafici ed ulteriori analisi.&lt;br /&gt;
&lt;br /&gt;
A quanto pare, il test quest'anno è superato da 58.92% dei partecipanti, con punteggio medio 14.94 (~15) e deviazione standard 3.93 (~4 punti). Poteva andare meglio. E' sicuramente meglio dell'anno precedente ma decisamente peggio rispetto ai risultati 2009/2010.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NavuZFOaTco/UFMwWzGJgdI/AAAAAAAAAIo/shASzWA6sog/s1600/percentuale_passati_test.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="197" src="http://1.bp.blogspot.com/-NavuZFOaTco/UFMwWzGJgdI/AAAAAAAAAIo/shASzWA6sog/s400/percentuale_passati_test.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;% di persone che hanno superato il test&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Mentre analizzavo le statistiche, mi è venuto in mente un'interessante &lt;a href="http://www.enrico-franchi.org/2012/09/models-of-human-skills-gaussian-bimodal.html" target="_blank"&gt;post di rik0 sulla distribuzione delle capacità umane&lt;/a&gt;. Perché allora non analizzare anche la distribuzione dei punteggi?&lt;br /&gt;
&lt;br /&gt;
Analizzando il grafico (e gli altri nel foglio di calcolo) si può vedere che, col passare del tempo, si sono ridotti i picchi e si sta regredendo ad un andamento gaussiano. L'andamento gaussiano è basato sulla media e sullo scarto quadratico medio calcolato dai dati stessi, non è una curva gaussiana interpolante.&lt;br /&gt;
&lt;br /&gt;
Il significato che posso dare alle osservazioni? Posso dire che la preparazione è nella media degli anni precedenti, e l'abbassamento dei picchi indica che non esistono più gruppetti di studenti più o meno capaci e gruppetti più o meno incapaci, ma che stanno diventando un unico gruppo dove le conoscenze di matematica di base sono più o meno comprese da tutti.&lt;br /&gt;
C'è da notare il progressivo abbassamento del punteggio medio, passato dal 15.75 del 2010 al 14.94 del 2012, che non è un segnale di maggiori conoscenze/competenze, sebbene la percentuale di persone che hanno superato il test sia nella media.&lt;br /&gt;
Se considerassimo le considerazioni di rik0 potremmo dire che i test sono "facili": in effetti non è niente di fantascientifico, sono domande abbastanza semplici su matematica delle superiori (sul &lt;a href="http://testingressoscienzepls.cineca.it/public/syllabi.php" target="_blank"&gt;sito del CINECA&lt;/a&gt;&amp;nbsp;potete trovare il syllabus e delle prove con soluzione, per valutare da voi la difficoltà)&lt;br /&gt;
Riassumendo: la scuola dà ai matricolandi le conoscenze per superare i test, ma i matricolandi risolvono, in media, correttamente meno problemi nel tempo proposto.&lt;br /&gt;
&lt;br /&gt;
Tutti i dati (dati sfusi su TXT, script Python e foglio di calcolo) sono stati compressi in un archivio ZIP, il link per il download è disponibile&amp;nbsp;&lt;a href="http://tagfil.es/docs/ded6a44efd4ac9111132e2ea92798a19" target="_blank"&gt;su tagfil.es&lt;/a&gt;, un nuovo servizio online che permette di etichettare tutti i dati caricati nei propri account di servizi di file hosting.&lt;br /&gt;
&lt;br /&gt;
Spero di non aver annoiato e magari di avervi fatto conoscere qualcosa di interessante. Ovviamente fatemi sapere se ritenete che ci siano errori, problemi o che stia comparando mele e pere.&lt;br /&gt;
Stay tuned!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/NqWN6BbCukc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/NqWN6BbCukc/test-valutazione-smfn-analisi-dei.html</link><author>noreply@blogger.com (alfateam123)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-zzBtS6HQG-E/UFMwVqlacOI/AAAAAAAAAIg/OjxWrS697Vk/s72-c/panoramica_completa_test.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/09/test-valutazione-smfn-analisi-dei.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-1883766907108444702</guid><pubDate>Thu, 16 Aug 2012 20:49:00 +0000</pubDate><atom:updated>2012-11-08T23:17:47.384+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">hdmi</category><category domain="http://www.blogger.com/atom/ns#">interferenze</category><category domain="http://www.blogger.com/atom/ns#">rikomagic</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">recensione</category><category domain="http://www.blogger.com/atom/ns#">mk802</category><category domain="http://www.blogger.com/atom/ns#">media center</category><category domain="http://www.blogger.com/atom/ns#">unpacking</category><category domain="http://www.blogger.com/atom/ns#">wifi</category><category domain="http://www.blogger.com/atom/ns#">android</category><category domain="http://www.blogger.com/atom/ns#">netusers.it</category><title>[Recensione][Guida] MK802: il mini-PC con Android</title><description>Probabilmente avrete sentito parlare di questa scheda su diversi portali, come ad esempio &lt;a href="http://www.androidiani.com/news/pendrive-mk802-con-android-4-0-arriva-ubuntu-10-04-112448" rel="nofollow" target="_blank"&gt;Androidiani&lt;/a&gt; o &lt;a href="http://www.engadget.com/2012/06/07/mk802-android-4-0-mini-pc-hands-on-impressions/" rel="nofollow" target="_blank"&gt;Engadget&lt;/a&gt;. Io voglio parlarne in questa breve recensione.&lt;br&gt;
&lt;br&gt;
L&amp;#39;&lt;a href="http://store.cloudsto.com/rikomagic/rikomagic-mk802-detail.html" target="_blank"&gt;MK802&lt;/a&gt; è &lt;b&gt;un mini PC,&lt;/b&gt; poco più grande di una pendrive, in grado di far girare una ROM apposita derivata da &lt;b&gt;Android 4.0&lt;/b&gt; (Ice Cream Sandwich).&lt;br&gt;
&lt;br&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://i.minus.com/iL7ogSEVXPLVs.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="480" src="http://i.minus.com/iL7ogSEVXPLVs.JPG" width="640"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Componenti dopo l&amp;#39;unpacking: Mk802, cavo miniHDMI to HDMI, alimentatore con adattatore,&lt;br&gt;
prolunga miniUSB to USB ed adattatore miniUSB to USB. &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br&gt;
&lt;br&gt;
&lt;b&gt;Caratteristiche hardware&lt;/b&gt;&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;RAM: 512 MB nella versione base, &lt;b&gt;1 GB&lt;/b&gt; per l&amp;#39;MK802+&lt;/li&gt;
&lt;li&gt;CPU: Allwinner A10 &lt;b&gt;1GHz&lt;/b&gt; Cortex-A8 (architettura: ARM)&lt;/li&gt;
&lt;li&gt;GPU: AMD Z430/Z106 (per gli amici &lt;a href="http://www.arm.com/products/multimedia/mali-graphics-hardware/mali-400-mp.php" rel="nofollow" target="_blank"&gt;Mali400&lt;/a&gt;, nella versione single core)&lt;br&gt;Questa scheda permette di riprodurre&lt;b&gt; video 720-1080-2160p&lt;/b&gt;, supporta OpenGL ES 2.0&lt;/li&gt;
&lt;li&gt;Network: &lt;b&gt;WiFi b/g&lt;/b&gt;&lt;br&gt;il chip dedicato al WiFi è b/g/n, ma il software sfrutta solo la configurazione b/g.&lt;/li&gt;
&lt;li&gt;Storage interno: 4 GB SSD&lt;br&gt;Espandibile con una scheda microSD&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Queste caratteristiche la rendono &lt;b&gt;un&amp;#39;ottima scheda nel campo dei media center&lt;/b&gt;: ottima per vedere un film (anche lo streaming da Youtube funziona molto bene) e sentire musica ad una buona qualità.&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://i.minus.com/i81AWf0N1wb6v.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="480" src="http://i.minus.com/i81AWf0N1wb6v.JPG" width="640"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Custom ROM di Android 4.0 (ICS) up and running su MK802&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
Questa scheda può benissimo, sempre con Android o una distribuzione Linux (su Youtube ci sono video di Ubuntu, Fedora 17 e Bodhi Linux che girano su un MK802), &lt;b&gt;sostituire un PC&lt;/b&gt; sfruttato unicamente per passare il tempo su Internet ed eventualmente scrivere qualche documento con LibreOffice.&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;&lt;/div&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href="http://i.minus.com/i7nLYICoBTeaJ.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="480" src="http://i.minus.com/i7nLYICoBTeaJ.JPG" width="640"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="font-size: 13px;"&gt;Rikomagic MLK802+ at work&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div&gt;
Questa scheda mi è piaciuta subito: il setup della scheda è molto facile e funziona out-of-the-box.&lt;/div&gt;
&lt;div&gt;
In effetti basta un televisore, un hub USB con tastiera e mouse (e magari una pendrive) e l&amp;#39;alimentazione per essere operativi. Le &lt;b&gt;ridotte dimensioni&lt;/b&gt; (8.8*3.5*1.2 cm) lo rendono perfetto per utilizzarlo nelle situazioni dove è richiesto il minimo ingombro o un consumo di energia più basso rispetto a quello di un portatile o di un computer fisso (desktop).&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;&lt;a href="http://deltatheprogrammer.blogspot.com/2012/08/recensioneguida-mk802-il-mini-pc-con.html#more"&gt;Read More&amp;gt;&amp;gt;&amp;gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/pjh6IWQMcOs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/pjh6IWQMcOs/recensioneguida-mk802-il-mini-pc-con.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>3</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/08/recensioneguida-mk802-il-mini-pc-con.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-7504159459650995066</guid><pubDate>Wed, 18 Jul 2012 09:54:00 +0000</pubDate><atom:updated>2012-07-18T11:56:11.316+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OpenMP</category><category domain="http://www.blogger.com/atom/ns#">algoritmi genetici</category><category domain="http://www.blogger.com/atom/ns#">backtracking</category><category domain="http://www.blogger.com/atom/ns#">parallelismo</category><category domain="http://www.blogger.com/atom/ns#">progetto di maturità</category><category domain="http://www.blogger.com/atom/ns#">Parallel Road Rage</category><title>Parallel Road Rage (progetto maturità)</title><description>Con un certo ritardo (tra lo studio per l'esame e la soddisfazione per il buon risultato ottenuto) ho deciso di parlare del mio progetto di maturità.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Quale progetto? &lt;a href="http://github.com/alfateam123/Parallel-Road-Rage" target="_blank"&gt;Parallel Road Rage&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
Il progetto, i cui sorgenti sono disponibili sul mio account GitHub, è un editor di grafi che permette di porre dei vincoli sul grafo in esame e di integrare risolutori per trovare soluzioni efficaci al problema che si vuole risolvere. I due risolutori integrati (backtracking ed algoritmi genetici) sono stati utilizzati per risolvere il problema del commesso viaggiatore (noto anche come TSP).&lt;br /&gt;
&lt;br /&gt;
&lt;script async="" class="speakerdeck-embed" data-id="500682a6dbf84100020229df" data-ratio="1.3333333333333333" src="//speakerdeck.com/assets/embed.js"&gt;
&lt;/script&gt;
&lt;br /&gt;
&lt;b&gt;Difficoltà&lt;/b&gt;&lt;br /&gt;
E' stato un progetto decisamente complesso da portare avanti, a causa di alcuni errori di progettazione che hanno reso difficile poi lo sviluppo del progetto.&lt;br /&gt;
Altre difficoltà sono sorte nella scrittura del codice parallelo, tra cui le prestazioni &lt;i&gt;pietose&lt;/i&gt; del risolutore backtracking dovute a problemi di sincronizzazione (riscriverlo daccapo sarebbe una buona idea) e le &lt;b&gt;enormi difficoltà nel debug&lt;/b&gt;, e ho avuto diversi problemi nella gestione di errori dovuti ad una errata gestione dei puntatori.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Il futuro del progetto&lt;/b&gt;&lt;br /&gt;
Ho diverse idee sull'avvenire del progetto, dal riscriverlo totalmente a fare una revisione passo passo per risolvere tutti i problemi, renderlo facilmente adattabile e finalmente implementare algoritmi efficienti.&lt;br /&gt;
&lt;br /&gt;
Se ti interessa &lt;b&gt;modificare il progetto, migliorarlo o semplicemente capirne di più&lt;/b&gt;, puoi consultare la &lt;a href="https://docs.google.com/document/d/1IRVXpwNEoQFgv2Vqha0UjjR-KMjb4FkOaLD89ub0dTo/edit" rel="nofollow" target="_blank"&gt;documentazione su GDocs&lt;/a&gt; e la &lt;a href="http://alfateam123.minus.com/lmqylEzMQsKi1" target="_blank"&gt;presentazione su min.us [pdf]&lt;/a&gt;&lt;br /&gt;
Stay tuned!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/7r2_xQr7s0s" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/7r2_xQr7s0s/parallel-road-rage-progetto-maturita.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/07/parallel-road-rage-progetto-maturita.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-8181165347805935107</guid><pubDate>Sat, 09 Jun 2012 20:50:00 +0000</pubDate><atom:updated>2012-06-09T22:50:11.043+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">automatizzare</category><category domain="http://www.blogger.com/atom/ns#">ifttt</category><category domain="http://www.blogger.com/atom/ns#">regole</category><category domain="http://www.blogger.com/atom/ns#">linguaggio naturale</category><category domain="http://www.blogger.com/atom/ns#">on{x}</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><category domain="http://www.blogger.com/atom/ns#">android</category><category domain="http://www.blogger.com/atom/ns#">servizi web</category><category domain="http://www.blogger.com/atom/ns#">autogestione</category><title>ifttt e on{x}: automatizza la tua vita digitale!</title><description>Oggi voglio parlare di due prodotti, utili per automatizzare la propria vita digitale.&lt;br /&gt;
Il loro punto di forza è la semplicità con la quale è possibile programmare le azioni da automatizzare: basta creare semplici &lt;b&gt;regole&lt;/b&gt;, in linguaggio naturale! Vediamo meglio...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ifttt: If This Then That&lt;/b&gt;&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://ifttt.com/images/statement_ex3.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="104" src="http://ifttt.com/images/statement_ex3.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;a href="http://ifttt.com/wtf" target="_blank"&gt;If This Then That&lt;/a&gt;&lt;b&gt; &lt;/b&gt;è un servizio web che permette, attraverso la creazione e l'utilizzo di semplici regole in linguaggio naturale, di rispondere in maniera automatica quando succede qualcosa.&lt;br /&gt;
Prendiamo ad esempio la regola qui accanto: ogni volta che si scatta una foto con Instagram ifttt si preoccuperà di caricarle automaticamente su Dropbox.&lt;br /&gt;
E tutto questo senza dover conoscere le API (interfaccia a disposizione degli sviluppatori di servizi di terze parti) nè di Instagram nè di Dropbox, creandole attraverso un'interfaccia web e &lt;b&gt;senza dover scrivere codice&lt;/b&gt;, o cercare un applicazione apposita!&lt;br /&gt;
Il numero di servizi online con cui permette di interfacciarsi è alto: si possono collegare Twitter, Facebook, Instagram, Evernote, Dropbox, feed RSS... e potete vedere &lt;a href="http://www.ifttt.com/recipes" target="_blank"&gt;qui moltissime regole &lt;/a&gt;da poter utilizzare!&lt;br /&gt;
&lt;br /&gt;
Learn more about ifttt:&lt;br /&gt;
&lt;a href="http://gadgetwise.blogs.nytimes.com/2011/09/23/7-ways-to-automate-your-life-with-ifttt/" target="_blank"&gt;Post from nytimes&lt;/a&gt;; &lt;a href="http://ifttt.com/" target="_blank"&gt;Sito ufficiale del servizio&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;on{x}: regole per il tuo Android!&lt;/b&gt;&lt;br /&gt;
Questa applicazione web -legata ad un app Android-, ancora in beta, si può considerare un idea geniale! Con on{x} si possono creare delle regole da utilizzare per il nostro smartphone, in modo da poterlo programmare per funzioni specifiche e ripetitive.&lt;br /&gt;
Lo stile è lo stesso di ifttt, ma c'è un particolare molto importante da tenere in considerazione: questa app è sviluppata appositamente per riconoscere lo stato del telefono e del suo proprietario: ad esempio sa quando sta camminando o guidando, conoscendo la posizione GPS può bloccare le chiamate da numeri di colleghi di lavoro se si trova a casa... tutto senza dover aspettare l'applicazione apposita (o ingegnarsi con &lt;a href="http://deltatheprogrammer.blogspot.it/2010/07/programmazione-android-moooooolto-piu.html" target="_blank"&gt;App Inventor&lt;/a&gt;)!&lt;br /&gt;
E se le regole attuali non si adattassero alle proprie necessità? Beh, si può sempre creare una nuova regola, scrivendo pochissimo codice Javascript: non è così difficile da imparare (&lt;a href="http://codeacademy.com/" target="_blank"&gt;puoi seguire i corsi di CodeAcademy&lt;/a&gt;) e in un attimo c'è un mondo nuovo di possibilità!&lt;br /&gt;
&lt;br /&gt;
Qui sotto segue il video di presentazione di on{x} &lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="480" src="http://www.youtube.com/embed/qfLMTsIJsoo" width="620"&gt;&lt;/iframe&gt;
&lt;br /&gt;
Learn more about on{x}:&lt;br /&gt;
&lt;a href="http://techcrunch.com/2012/06/05/onx/" target="_blank"&gt;TechCrunch post about on{x}&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Spero di avervi fatto conoscere questi nuovi servizi, che possono rivelarsi veramente utili nella gestione della vita digitale (e non solo)!&lt;br /&gt;
Stay updated!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/5zkMKo1f1Qk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/5zkMKo1f1Qk/ifttt-e-onx-automatizza-la-tua-vita.html</link><author>noreply@blogger.com (alfateam123)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/qfLMTsIJsoo/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/06/ifttt-e-onx-automatizza-la-tua-vita.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-8358482095037150366</guid><pubDate>Sun, 29 Apr 2012 16:08:00 +0000</pubDate><atom:updated>2012-04-29T18:19:42.881+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">skydrive</category><category domain="http://www.blogger.com/atom/ns#">archiviazione</category><category domain="http://www.blogger.com/atom/ns#">#digitalia</category><category domain="http://www.blogger.com/atom/ns#">come riavere i 25 gigabyte su skydrive</category><title>Come riavere 25 GB su SkyDrive!</title><description>&lt;br /&gt;
Oggi, leggendo un articolo su LegaNerd riguardante Google Drive -il nuovo servizio di archiviazione targato BigG-, ho notato un commento che mi ha scioccato, e che era più o meno di questo tipo:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Microsoft ha portato lo spazio disponibile su Skydrive da 25 GB a 7 GB, con possibilità di comprare spazio. [altro non importante]&lt;/blockquote&gt;
Mi sono precipitato a vedere e... anche io ho trovato il mio spazio ridotto D:&lt;br /&gt;
Nell'affannosa ricerca di una soluzione ho chiesto a quei geni di &lt;a href="http://twitter.com/search/?q=#digitalia" rel="nofollow" target="_blank"&gt;#digitalia&lt;/a&gt;, che mi hanno prontamente aiutato.&lt;br /&gt;
&lt;blockquote class="twitter-tweet tw-align-center" data-in-reply-to="196606411617218560" lang="it"&gt;
@&lt;a href="https://twitter.com/alfateam123"&gt;alfateam123&lt;/a&gt; se hai già l'account da quando offrivano 25GB credo che nelle impostazioni ci sia una casellina per farti dare gli altri 18GB!&lt;br /&gt;
— Michele Di Maio (@mikkysixx) &lt;a data-datetime="2012-04-29T15:34:04+00:00" href="https://twitter.com/mikkysixx/status/196623393397813248"&gt;Aprile 29, 2012&lt;/a&gt;&lt;/blockquote&gt;
&lt;script charset="utf-8" src="//platform.twitter.com/widgets.js"&gt;&lt;/script&gt;&lt;br /&gt;
Cercando un pò, ho trovato la soluzione!&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Sotto all'etichetta che indica quanto spazio si ha a disposizione, c'è un link chiamato "Gestisci archiviazione". Cliccate sul link per aprire la pagina di gestione.&lt;/li&gt;
&lt;img height="136" src="http://cdn2.techie-buzz.com/images4/keith/Upgrade-SkyDrive-to-25Gb-Free-for-Limite_CC91/skydrive_25_gb_free_upgrade.png" width="400" /&gt;
&lt;li&gt;Ora vi ritrovate in una pagina simile a quella dell'immagine qui sopra, e vi basterà cliccare sul tasto "Free upgrade" per poter aumentare il vostro spazio.&lt;/li&gt;
&lt;/ol&gt;
Ovviamente questa tecnica non funziona con i nuovi iscritti: dovevate essere già iscritti al servizio per poter usufruire di questo spazio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ah, mi raccomando: fate buon uso dei 25 GB che avrete a disposizione, anche perché -come sottolineato dall'immagine- che i 25 GB non saranno disponibili per sempre.&lt;br /&gt;
Nel caso vi serva ulteriore spazio, potete sempre rivolgervi a servizi 
come Google Docs, Dropbox, box.com, min.us (che utilizzo per hostare i 
miei paper e altri paper interessanti, molto comodo!)... &lt;br /&gt;
&lt;br /&gt;
Stay updated!&lt;br /&gt;
&lt;ol&gt;
&lt;/ol&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/_iJK0eSD-co" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/_iJK0eSD-co/come-riavere-25-gb-su-skydrive.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/04/come-riavere-25-gb-su-skydrive.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-7655596378582118572</guid><pubDate>Wed, 28 Mar 2012 20:43:00 +0000</pubDate><atom:updated>2012-03-28T22:47:20.979+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">emulatori</category><category domain="http://www.blogger.com/atom/ns#">widget ingombranti</category><category domain="http://www.blogger.com/atom/ns#">bluestacks</category><category domain="http://www.blogger.com/atom/ns#">arity</category><category domain="http://www.blogger.com/atom/ns#">angry birds</category><category domain="http://www.blogger.com/atom/ns#">angry birds space</category><title>BlueStacks beta-1: prime impressioni</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-mWEFZsrg1XI/T3N1UADRutI/AAAAAAAAAII/7LxLGJFjfDg/s1600/screen_bluestacks.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="452" src="http://4.bp.blogspot.com/-mWEFZsrg1XI/T3N1UADRutI/AAAAAAAAAII/7LxLGJFjfDg/s640/screen_bluestacks.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Ciao, oggi sono venuto a conoscenza del progetto BlueStacks e mi sono fatto passare l'installer per poterlo provare (sebbene si potesse provare la beta semplicemente andando sul sito &lt;a href="http://bluestacks.com/" target="_blank"&gt;http://bluestacks.com/&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Cos'è BlueStacks?&lt;/b&gt; Questo progetto si pone come un &lt;b&gt;emulatore per PC di applicazioni Android&lt;/b&gt;. In pratica con questo progetto sarà possibile scaricare sul proprio computer applicazioni nate per girare su Android.&lt;br /&gt;
Si possono anche &lt;b&gt;sincronizzare le applicazioni già installate sul proprio smartphone Android&lt;/b&gt;, in modo da poterle utilizzare anche sul PC, &lt;b&gt;utilizzando un'apposita app &lt;/b&gt;disponibile su Google Play (il fu Android Market).&lt;br /&gt;
&lt;br /&gt;
Le&lt;b&gt; applicazioni girano molto bene&lt;/b&gt;, per quello che ho potuto provare, &lt;b&gt;senza grossi problemi di lag o crash&lt;/b&gt;. Mi sembra un emulatore molto ben curato ed ottimizzato. Eppoi, vuoi mettere la soddisfazione di provare Angry Birds Space senza avere uno smartphone Android? :D&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-KMr1RW4iDkw/T3N1YoeVYbI/AAAAAAAAAIQ/fsY0esILH3M/s1600/screen_bluestacks_download.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="455" src="http://4.bp.blogspot.com/-KMr1RW4iDkw/T3N1YoeVYbI/AAAAAAAAAIQ/fsY0esILH3M/s640/screen_bluestacks_download.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
Una nota di demerito è necessaria: io odio dal profondo del cuore i widget sullo schermo, soprattutto posizionati nella parte superiore dello schermo.&lt;br /&gt;
Sì, appena si installa BlueStacks si ha &lt;b&gt;un fastidiosissimo widget&lt;/b&gt; utilizzabile per accedere più velocemente alle applicazioni BlueStacks. Nella posizione in cui è adesso, dà decisamente fastidio, soprattutto se si considera che è sempre in primo piano, andando (per esempio) a sovrapporsi alle tab di Firefox rendendo ingestibile l'utilizzo del browser (o di altre applicazioni).&lt;br /&gt;
Inoltre bisogna segnalare che &lt;b&gt;questo progetto è in beta pubblica&lt;/b&gt;, ma solo &lt;b&gt;fino&lt;/b&gt; a quando non si arriva &lt;b&gt;alla&lt;/b&gt; &lt;b&gt;release finale&lt;/b&gt;, che&lt;b&gt; sarà a pagamento&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Questo sotto è un esempio di applicazione funzionante su BlueStacks. In questo caso stiamo utilizzando Arity per fare un pò di matematica :D&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-md7TTO-_lGU/T3N2p31TbeI/AAAAAAAAAIY/jGl2JVwXbHo/s1600/gaussiana_arity.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="454" src="http://2.bp.blogspot.com/-md7TTO-_lGU/T3N2p31TbeI/AAAAAAAAAIY/jGl2JVwXbHo/s640/gaussiana_arity.png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Test di utilizzo di Arity, emulato su BlueStacks, plot della funzione gaussiana con M=1 e varianza=0.25&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
A quanto ho potuto vedere con un limitatissimo utilizzo, è un progetto 
partito bene, che con l'aiuto di una buona base di utenti, tester e 
sviluppatori può trasformarsi in un'idea decisamente interessante. Spero che continui su questa strada!&lt;br /&gt;
A breve potrebbero esserci nuovi aggiornamenti, stay updated!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/1QwzDrZW8II" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/1QwzDrZW8II/bluestacks-beta-1-prime-impressioni.html</link><author>noreply@blogger.com (alfateam123)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-mWEFZsrg1XI/T3N1UADRutI/AAAAAAAAAII/7LxLGJFjfDg/s72-c/screen_bluestacks.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/03/bluestacks-beta-1-prime-impressioni.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-4206809222543965888</guid><pubDate>Tue, 06 Mar 2012 20:23:00 +0000</pubDate><atom:updated>2012-03-06T21:25:52.575+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Wolfram|Alpha</category><category domain="http://www.blogger.com/atom/ns#">sperimentare</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">computer algebra system</category><category domain="http://www.blogger.com/atom/ns#">webapp</category><category domain="http://www.blogger.com/atom/ns#">matematica</category><category domain="http://www.blogger.com/atom/ns#">Mathematica</category><title>Recensione CAS: Wolfram|Alpha</title><description>Per il ciclo delle recensioni CAS, oggi parlerò di Wolfram|Alpha, il grandioso answer engine della Wolfram Research.&lt;br /&gt;
&lt;br /&gt;
Wolfram|Alpha è una web application, disponibile quindi su ogni sistema operativo con qualunque browser che supporti JavaScript e (non necessariamente) HTML5.&lt;br /&gt;
Essendo un answer engine, non è semplicemente un aiuto per il calcolo come ad esempio &lt;a href="http://deltatheprogrammer.blogspot.com/2012/02/recensione-cas-microsoft-mathematics-4.html" target="_blank"&gt;Microsoft Mathematics&lt;/a&gt;. &lt;br /&gt;
Questo software si distingue dagli altri per molte qualità:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Comandi free-form language&lt;/li&gt;
&lt;li&gt;Ampio database su molti tipi di dati&lt;/li&gt;
&lt;li&gt;Molto veloce nell'esecuzione di query complesse&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Comandi free-form language&lt;/b&gt;: non c'è una rigidità sintattica nei comandi da far eseguire al motore per poter ottenere i risultati. Questo permette di ottenere la solita risposta in più modi: dire "find real roots of f(x)=3x+5" (trova le soluzioni reali della funzione f(x)3x+5) è uguale a scrivere "solve f(x)=3x+5 over the reals" (risolvi f(x)=3x+5 nell'insieme dei numeri reali), che a sua volta è uguale a "3x+5=0": la forma non è un problema, la risposta sarà sempre &lt;a href="http://m.wolframalpha.com/input/?i=solve+f%28x%29%3D3x%2B5+over+the+reals&amp;amp;x=0&amp;amp;y=0" target="_blank"&gt;x=(-5/3)&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ampio database su moltissimi dati&lt;/b&gt;: se vuoi &lt;a href="http://www.wolframalpha.com/input/?i=persian+cat" target="_blank"&gt;saperne di più sul tuo gatto persiano&lt;/a&gt; o sul tuo cane preferito basta chiederlo! Puoi fare per dati finanziari come PIL e valore delle azioni, conoscere i film vincitori di premi Oscar, avere statistiche sulla popolazione (per ora solo americana),&amp;nbsp; conoscere il 134325esimo numero primo... ecco, questa &lt;b&gt;enorme quantità di dati disponibili&lt;/b&gt; in maniera così semplice è una delle componenti del successo di questo motore, che non è quindi legato alla semplice matematica ma permette di &lt;b&gt;rendere computabili una marea di dati&lt;/b&gt; che altrimenti non sarebbe stato possibile ottenere.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Alta velocità nell'esecuzione di query complesse&lt;/b&gt;: questa qualità è frutto di un &lt;a href="http://blog.wolframalpha.com/2011/08/30/scaling-up-the-wolframalpha-project/" target="_blank"&gt;prodotto scalabile &lt;/a&gt;e di una grande quantità di unità di calcolo a disposizione sia per gli utenti dell'interfaccia web sia per gli &lt;b&gt;sviluppatori esterni&lt;/b&gt;. Il core di Wolfram|Alpha è stato scritto utilizzando Mathematica, il software CAS sviluppato da Stephen Wolfram e dalla Wolfram Research, che è ottimizzato per sfruttare al meglio l'hardware dove il programma gira.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Chi lo utilizza?&lt;/b&gt; &lt;br /&gt;
Secondo &lt;a href="http://www.nytimes.com/2012/02/07/technology/wolfram-a-search-engine-finds-answers-within-itself.html?_r=2" target="_blank"&gt;un articolo del New York Times&lt;/a&gt;, l'assistente vocale di &lt;b&gt;Apple&lt;/b&gt; genera il 25% del traffico sui server di Wolfram|Alpha. Un altro utente importante è &lt;b&gt;Microsoft&lt;/b&gt;, che ha avviato nel 2009 una collaborazione con Wolfram Research per &lt;a href="http://www.bing.com/community/site_blogs/b/search/archive/2009/11/11/how-many-calories-in-a-burger-what-s-2-2-2-2-2-bing-and-wolfram-alpha-have-the-answers.aspx" target="_blank"&gt;inserire i risultati di WA all'interno dei risultati del motore Bing.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Come utilizzarlo per la matematica?&lt;/b&gt;&lt;br /&gt;
Ci sono una marea di &lt;a href="http://www.wolframalpha.com/examples/" target="_blank"&gt;esempi nel cheat sheet&lt;/a&gt;, di cui molti sono decisamente utili. In generale basta scrivere in inglese -o in linguaggio matematico- che cosa si vuol ottenere e Wolfram|Alpha ti darà velocemente il risultato.&lt;br /&gt;
Alcuni possibili richieste sono elencate qui sotto&amp;nbsp; &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;per &lt;b&gt;graficare una funzione&lt;/b&gt; basterà scrivere &lt;b&gt;plot f(x)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;per ottenere il limite di una funzione bisogna scrivere &lt;b&gt;lim x-&amp;gt;valore f(x) &lt;/b&gt;&lt;/li&gt;
&lt;li&gt;per ottenere il dominio di una funzione si può scrivere &lt;b&gt;domain of f(x)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
Ovviamente non ci sono solo queste richieste, potete fare tutte le richieste che volete, a partire dagli esempi nel cheat sheet: bisogna provare, testare, verificare, provare...&lt;br /&gt;
&lt;br /&gt;
Ah, dimenticavo: sono disponibili &lt;b&gt;diverse applicazioni mobile&lt;/b&gt; in grado di sfruttare le capacità di Wolfram|Alpha, create appositamente per uno specifico campo della conoscenza, per &lt;b&gt;iPhone/iPad e Android&lt;/b&gt;. La pecca è che queste applicazioni sono a pagamento (per Android, ovviamente si trova l'apk craccato ma non so come ottenerlo nè come installarlo) &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tenersi aggiornati&lt;/b&gt;&lt;br /&gt;
Vi consiglio di seguire &lt;a href="http://twitter.com/WolframFunFacts" target="_blank"&gt;@WolframFunFacts&lt;/a&gt; per essere aggiornati su interessanti (e spesso divertenti) fatti trovati utilizzando Wolfram|Alpha. Ah, e ovviamente non ti perdere i prossimi articoli sul blog!&lt;br /&gt;
&lt;br /&gt;
Stay tuned!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/wWcU-xGU8qI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/wWcU-xGU8qI/recensione-cas-wolframalpha.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/03/recensione-cas-wolframalpha.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-4840776700302616553</guid><pubDate>Sat, 25 Feb 2012 21:33:00 +0000</pubDate><atom:updated>2012-03-04T15:47:13.972+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">software per studenti</category><category domain="http://www.blogger.com/atom/ns#">funzioni in mathematics 4</category><category domain="http://www.blogger.com/atom/ns#">programmi di calcolo</category><category domain="http://www.blogger.com/atom/ns#">microsoft mathematics 4</category><category domain="http://www.blogger.com/atom/ns#">computer algebra system</category><category domain="http://www.blogger.com/atom/ns#">risoluzione funzioni</category><title>Recensione CAS: Microsoft Mathematics 4</title><description>Ho deciso di cominciare a parlare di &lt;b&gt;programmi di calcolo&lt;/b&gt;, ovvero quei programmi in grado di aiutare uno studente (o un appassionato di matematica) ad ottenere il risultato in maniera più semplice e che permetta di dedicarsi più al ragionamento che al calcolo puro.&lt;br /&gt;
Mi piacerebbe approfondire molto questa parte, ma non voglio deviare dal mio scopo principale; quindi vi rimando a &lt;a href="http://computerbasedmath.org/"&gt;computerbasedmath.org&lt;/a&gt; e a questo &lt;a href="http://www.pierotoffanin.com/2011/12/are-we-teaching-math-the-wrong-way/" target="_blank"&gt;interessante articolo di Piero Toffanin&lt;/a&gt; al riguardo.&lt;br /&gt;
&lt;br /&gt;
Cominciamo invece a parlare del primo strumento di calcolo che ho intenzione di recensire in questa serie: &lt;b&gt;Microsoft Mathematics&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Questo interessante programma permette (con un pò di immaginazione) di &lt;b&gt;adempiere alla maggior parte delle necessità di un normale studente&lt;/b&gt;, utilizzando un'interfaccia semplice e diretta.&lt;br /&gt;
Questo programma si divide in due parti: la prima -denominata &lt;b&gt;worksheet&lt;/b&gt;- permette di inserire formule che verranno poi calcolate dal risolutore interno; la seconda -&lt;b&gt;graphics&lt;/b&gt;- grafica le funzioni inserite.&lt;br /&gt;
&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-AXxZ3FB5L2c/T0lKqie0HNI/AAAAAAAAAHI/2hEYdM4A0J0/s1600/ms_mathematics_worksheet.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="283" src="http://1.bp.blogspot.com/-AXxZ3FB5L2c/T0lKqie0HNI/AAAAAAAAAHI/2hEYdM4A0J0/s400/ms_mathematics_worksheet.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Microsoft Mathematics 4, Worksheet section&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Nella schermata "worksheet" è possibile svolgere decisamente moltissime operazioni, ad esempio:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Studiare funzioni matematiche standard, come radici e logaritmi&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Risolvere equazioni e disequazioni&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;
Studiare funzioni trigonometriche come seno e coseno.&lt;/li&gt;
&lt;li&gt;
Esecuzione di operazioni con le matrici e vettoriali.&lt;/li&gt;
&lt;li&gt;
Calcolo di &lt;b&gt;statistica di base&lt;/b&gt;, come media e deviazione standard.&lt;/li&gt;
&lt;li&gt;Ricerca di &lt;b&gt;derivate e integrali, limiti, serie&lt;/b&gt;. &lt;/li&gt;
&lt;li&gt;
Esecuzione di operazioni su numeri complessi.&lt;/li&gt;
&lt;li&gt;Calcolo di funzioni fisiche e chimiche.&lt;/li&gt;
&lt;/ul&gt;
E' inoltre possibile definire &lt;b&gt;variabili&lt;/b&gt;, utilizzabili sia come &lt;b&gt;costanti&lt;/b&gt; sia come &lt;b&gt;funzioni&lt;/b&gt; (per utilizzarle in questa maniera basterà salvare la variabile e poi fare il limite al valore voluto ;D).&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mlwl5WgxUAs/T0lKosOGeDI/AAAAAAAAAHA/tyKz4L1bYNs/s1600/ms_mathematics_graphics.png" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="285" src="http://1.bp.blogspot.com/-mlwl5WgxUAs/T0lKosOGeDI/AAAAAAAAAHA/tyKz4L1bYNs/s400/ms_mathematics_graphics.png" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Microsoft Mathematics 4, Graphing Section (plot of a normalized gaussian distribution)&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In questo screenshot potete ammirare un bellissimo grafico della distribuzione di Gauss standardizzata (ovvero con media=0 e varianza=1) in tutto il suo splendore. Il popup che si può notare vicino alla funzione è la funzione &lt;b&gt;trace&lt;/b&gt;, che permette di visualizzare in ogni punto il valore della funzione graficata nel punto richiesto.&lt;br /&gt;
E' possibile "plottare" funzioni sia in &lt;b&gt;2D &lt;/b&gt;che in &lt;b&gt;3D&lt;/b&gt;, utile quando si hanno problemi con 2 variabili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ci sono altre funzioni, come il &lt;b&gt;risolutore di triangoli&lt;/b&gt; o il &lt;b&gt;convertitore di unità di misura&lt;/b&gt; che sono interessanti ma non abbastanza da essere spiegate in questo articolo.&lt;br /&gt;
&lt;br /&gt;
In pratica posso solo elogiare questo ottimo prodotto, per la sua &lt;b&gt;semplicità di utilizzo&lt;/b&gt; e il &lt;b&gt;numero di argomenti che il software permette di trattare&lt;/b&gt;. Si potrebbe anche fare di più, per esempio &lt;b&gt;permettere la creazione di funzioni e non solo quella di variabili&lt;/b&gt;, oppure &lt;b&gt;inserire un risolutore per la risoluzione di problemi di programmazione lineare&lt;/b&gt; (e anche non-lineare).&lt;br /&gt;
&lt;br /&gt;
Per poterlo testare potete scaricarlo come freeware &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=15702" target="_blank"&gt;dal sito Microsoft&lt;/a&gt;.&lt;br /&gt;
Su Windows 8 (Dev Preview) ho riscontrato che il prodotto necessita del .NET framework 4, ma l'installer lavora con la versione 3.5, che dovrà essere attivata tramite il Pannello di Controllo.&lt;br /&gt;
Ah, ovviamente funziona solo su Windows, quindi consiglio di seguire le prossime recensioni per trovare strumenti online o nativi per Linux. &lt;br /&gt;
&lt;br /&gt;
Spero che questo articolo vi abbia interessato, la prossima recensione dovrebbe essere su Wolfram|Alpha, il famoso answer engine della Wolfram Research.&lt;br /&gt;
Alla prossima!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/KpRHG6mj1Ug" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/KpRHG6mj1Ug/recensione-cas-microsoft-mathematics-4.html</link><author>noreply@blogger.com (alfateam123)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-AXxZ3FB5L2c/T0lKqie0HNI/AAAAAAAAAHI/2hEYdM4A0J0/s72-c/ms_mathematics_worksheet.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/02/recensione-cas-microsoft-mathematics-4.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-3341851456432925154</guid><pubDate>Sun, 19 Feb 2012 22:14:00 +0000</pubDate><atom:updated>2012-02-19T23:14:00.881+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">gara nazionale di programmazione della macchina di turing</category><category domain="http://www.blogger.com/atom/ns#">rocs</category><category domain="http://www.blogger.com/atom/ns#">ezine</category><category domain="http://www.blogger.com/atom/ns#">UnderAttHack</category><category domain="http://www.blogger.com/atom/ns#">less is more</category><category domain="http://www.blogger.com/atom/ns#">ottimizzazione combinatoria</category><category domain="http://www.blogger.com/atom/ns#">macchine di turing</category><category domain="http://www.blogger.com/atom/ns#">complessità computazionale</category><title>Punto della situazione e nuovi progetti...</title><description>Ciao a tutti, riscrivo dopo diverso tempo di inattività sul blog.&lt;br /&gt;
Mentre il tempo passava, sto lavorando ad un progetto, ne sto supportando altri (e vorrei supportarne altri), ho partecipato ad una importante gara e sto progettando qualcosa per rendere questo blog più attivo.&lt;br /&gt;
&lt;br /&gt;
Sto lavorando ad un interessante progetto (che porterò come tesina di maturità) basato su ottimizzazione combinatoria e parallelizzazione. Ho avuto diverse idee dal mondo open source (in particolare da &lt;a href="http://edu.kde.org/rocs/"&gt;Rocs, un progetto KDE-edu&lt;/a&gt;), e sto tentando di combinarle assieme per realizzare questo piccolo ma accattivante progetto. Ne parlerò spesso, sia dal punto di vista dei contenuti teorici sia dalla parte dell'implementazione: leggendo il blog (e seguendo il progetto su github, su cui creerò il repo appena possibile) ne saprete di più.&lt;br /&gt;
&lt;br /&gt;
Sto dando una mano ai progetti di altri miei amici, i cui argomenti spaziano da un CAD per circuiti elettronici ad un Computer Algebra System di dimensioni decisamente ridotte passando per un risolutore automatico di cubi di Rubik.&lt;br /&gt;
Mi piacerebbe inoltre impegnarmi in progetti open source, cosa che non ho mai potuto fare: ho sempre preso e mai dato alla comunità, e mi piacerebbe una volta tanto contribuire, sia scrivendo codice (consigliatemi qualche progetto figo, su!) sia scrivendo per qualche ezine (ad esempio UnderAttHack: mi devo sbrigare a tirare fuori qualcosa).&lt;br /&gt;
&lt;br /&gt;
Ho partecipato ad una gara, ovvero questa: un'accozzaglia di nerd fissati su &lt;a href="http://it.wikipedia.org/wiki/Macchina_di_Turing"&gt;una delle idee più grandi nella matematica del ventesimo secolo&lt;/a&gt;, ovvero la &lt;a href="http://mdt.di.unipi.it/"&gt;Gara Nazionale di Programmazione della Macchina di Turing&lt;/a&gt;. Detta così sembra altisonante, ma è semplicemente una marea di ragazzi a cui piace l'informatica e la matematica in maniera tale da mettersi a confronto con problemi da risolvere con una macchina decisamente stupida ma potente: la MdT è una di quelle cose che fanno pensare &lt;b&gt;less is more&lt;/b&gt;. Dopo questa lunga introduzione, vi voglio semplicemente comunicare che sono il secondo membro della squadra che quest'anno si è classificata quinta (&lt;a href="http://mdt.di.unipi.it/Documentazione/Classifica.aspx"&gt;ecco l'albo d'oro della gara&lt;/a&gt;). Ah, metterò (anche qui, appena mi ambiento con git e con github) il sorgente di alcuni esercizi svolti e di alcuni algoritmi "classici", scritti appositamente per essere veloci da scrivere e facilmente adattabili; magari inserendo anche qualche nota sul funzionamento dell'algoritmo e sulla sua complessità computazionale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;Passiamo inoltre alle novità (e buoni propositi) che ho deciso di introdurre per rendere questo blog un pò più attivo: mi impegno ad iniziare una serie di guide e di articoli legati alle varie attività che sto svolgendo in questo momento: articoli su ottimizzazione combinatoria (che potrebbero finire anche su UnderAttHack, però devo scriverli meglio), su strumenti online come Wolfram|Alpha -sia utilizzando l'interfaccia web sia sfruttando le API-, notizie sullo svolgimento dei miei progetti e di eventuali progetti che mi vedranno coinvolto... insomma, quello che dovrei fare già da molto tempo ;D Spero decisamente che non restino solo buone intenzioni.&lt;br /&gt;
&lt;br /&gt;
Benissimo, appena avrò preparato qualcos'altro sarete subito informati! Stay tuned!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/11Ef03hok48" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/11Ef03hok48/punto-della-situazione-e-nuovi-progetti.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/02/punto-della-situazione-e-nuovi-progetti.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-5711546314088562241</guid><pubDate>Tue, 24 Jan 2012 22:21:00 +0000</pubDate><atom:updated>2012-01-24T23:21:56.081+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">software open source</category><category domain="http://www.blogger.com/atom/ns#">Open Data Formats</category><category domain="http://www.blogger.com/atom/ns#">Italian public administration</category><category domain="http://www.blogger.com/atom/ns#">OpenOffice</category><category domain="http://www.blogger.com/atom/ns#">esame di maturità 2012</category><category domain="http://www.blogger.com/atom/ns#">pubblica amministrazione</category><category domain="http://www.blogger.com/atom/ns#">Y U NO USE OPEN DATA FORMATS</category><category domain="http://www.blogger.com/atom/ns#">formato proprietario</category><category domain="http://www.blogger.com/atom/ns#">Office</category><title>Italy, Y U NO USE OPEN DATA FORMATS?</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Oggi voglio parlarvi di una piccolissima incoerenza del nostro caro paese. La minuscola contraddizione di cui voglio parlare è un buffo comportamento di uno stato che ha incentivato l'utilizzo delle tecnologie proprietarie (Microsoft ha fatto affari con la nostra pubblica amministrazione, non è un mistero), invece che diffondere la cultura dell'open source anche in vista di un risparmio nel costo delle licenze.&lt;br /&gt;
&lt;br /&gt;
In teoria una pubblica amministrazione, dato che è pubblica, non dovrebbe impedire ai cittadini di visualizzare file importanti solo perchè &lt;b&gt;sono in formato proprietario&lt;/b&gt;.&lt;br /&gt;
Immaginate ora in che formato è il file "Elenco indirizzi sperimentali", recuperabile sul sito del MIUR, &lt;a href="http://www.blogger.com/%20http://www.istruzione.it/web/istruzione/dm12_12"&gt;nel post relativo alle materie della seconda prova dell'esame di maturità del 2012&lt;/a&gt;: ovviamente un bellissimo &lt;b&gt;xlsx&lt;/b&gt;, ovvero un formato proprietario, scritto con Office 2010! &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://h.static.memegenerator.net/cache/instances/500x/12/13273/13591960.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://h.static.memegenerator.net/cache/instances/500x/12/13273/13591960.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Perchè una pubblica amministrazione di un paese civile, occidentale e tra le maggiori potenze economiche mondiali non utilizza dati aperti? Perchè non incentiva l'utilizzo di software open source? Anche senza costringere tutti i dipendenti statali ad utilizzare OpenOffice, ma almeno bisognerebbe pensare al fatto che i cittadini non hanno molti soldi da spendere nell'ultima suite Office o non sono aggiornati sul cambiamento dei formati nelle suite da ufficio, lasciando Office 2003 sul proprio PC.&lt;br /&gt;
&lt;br /&gt;
Ci sono varie soluzioni, me ne vengono in mente 2:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Office 2010 ha integrato un sistema di generazione e di apertura di file a formato aperto.&lt;br /&gt;Basterebbe dire ai dipendenti di rilasciare sia il file in formato proprietario (per esempio xlsx) sia in formato aperto (ods)&lt;/li&gt;
&lt;li&gt;Basterebbe caricare sul sito i file in formato Office 2003 (per esempio xls) anzichè quelli di Office 2007-2010 per garantire a tutti gli utilizzatori l'accesso al file, senza dover scaricare OpenOffice o l'ultima versione di Office&lt;/li&gt;
&lt;/ol&gt;
Allora, Italia, quando comincerai a renderti conto che non tutti utilizzano l'ultima versione di un software proprietario o non tutti utilizzano Windows?&amp;nbsp;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/vx9uv2jLKKQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/vx9uv2jLKKQ/italy-y-u-no-use-open-data-formats.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2012/01/italy-y-u-no-use-open-data-formats.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-4852382014400797469</guid><pubDate>Fri, 30 Dec 2011 22:08:00 +0000</pubDate><atom:updated>2012-01-11T15:58:15.140+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sede madri ASUS</category><category domain="http://www.blogger.com/atom/ns#">fix audio</category><category domain="http://www.blogger.com/atom/ns#">ASUS motherboards</category><category domain="http://www.blogger.com/atom/ns#">audio not working on win8</category><category domain="http://www.blogger.com/atom/ns#">Windows 8</category><category domain="http://www.blogger.com/atom/ns#">Windows Dev Preview</category><title>Fix audio problem in Windows 8 with ASUS motherboard</title><description>questo articolo vuole aiutare gli utenti che hanno installato la Dev Preview di Windows 8 e che si ritrovano ad avere un PC muto. Sì, forse muto non è esattamente la parola migliore: sicuramente se non sentirete nessun rumore proveniente dal PC allora potreste risolvere in questa maniera.&lt;br /&gt;
&lt;br /&gt;
Disclaimer: questo sistema ha funzionato sul mio PC, con una motherboard ASUS M4A77TD. Non garantisco che funzioni anche sul vostro PC. Ah, e questa è solo la traduzione di un &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/windowsdeveloperpreviewgeneral/thread/07c84595-0d4e-4140-b5c9-ea72ec29df19"&gt;how to trovato sul forum MSDN&lt;/a&gt; (English users / Anglophone readers can use directly that how to!)&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Scarica i driver per Windows 7 x64 dal sito ufficiale ASUS&lt;/li&gt;
&lt;li&gt;Spacchetta l'archivio VIA_Audio_V6019500_XPVistaWin7.zip contenente il driver alla versione 6.0.1.9500&lt;/li&gt;
&lt;li&gt;Nel file AsusSetup.ini aggiungi la seguente linea alla sezione [OS_Language_Tag]&lt;br /&gt;WNT_6.2P_64 = Win7_64&lt;br /&gt;WNT_6.2P_64 è la versione del kernel che il setup ASUS riconosce come Windows Developer Preview OS. Win7_64 fa installare i driver per Windows 7 Ultimate&amp;nbsp;(64 bit). &lt;/li&gt;
&lt;li&gt;Imposta le seguenti opzioni nelle proprietà di AsusSetup.exe nella cartella principale e di SETUP.EXE in .\VIA_Audio_V6019500_XPVistaWin7\Driver\&lt;br /&gt;Compatibilità: Windows 7&lt;br /&gt;Privilegio: Lancia questo programma come amministratore&lt;br /&gt;NOTA BENE: se non imposti le opzioni di compatibilità, SETUP.exe non terminerà il suo lavoro ritornando: Scusa, l'installer non ha trovato il componente adatto per la piattaforma attuale. Premi OK per terminare l'installazione guidata.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Quando l'installer ha finito, Setta le opzioni di compatibilità per questi files:&lt;br /&gt;%ProgramFiles(x86)%\VIA\VIAudioi\VDeck\VDeck.exe - il pannello di controllo VIA che permette di redirigere il suono.&lt;br /&gt;%ProgramFiles(x86)%\VIA\VIAudioi\VDeck\SRSUIx64.exe - SRS tools - NON ha funzionato sebbene il programma funzioni sotto Windows 7 64 bit.&lt;/li&gt;
&lt;/ol&gt;
A questo punto VIA dovrebbe far funzionare il suono. Io l'ho testato e mi funziona tranquillamente (almeno, ho testato solo le uscite posteriori).&lt;br /&gt;
&lt;br /&gt;
Spero che l'how-to possa servire. Stay tuned!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/KHIKvN0hqhA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/KHIKvN0hqhA/fix-audio-problem-in-windows-8-with.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/12/fix-audio-problem-in-windows-8-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-4049748846876587284</guid><pubDate>Thu, 22 Dec 2011 22:01:00 +0000</pubDate><atom:updated>2012-01-11T15:58:34.681+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">new features of bada 2.0</category><category domain="http://www.blogger.com/atom/ns#">Samsung</category><category domain="http://www.blogger.com/atom/ns#">bada 2.0</category><category domain="http://www.blogger.com/atom/ns#">bada</category><category domain="http://www.blogger.com/atom/ns#">BadaItalia</category><title>Bada 2.0: come far morire in maniera perfetta un'ottima idea</title><description>Ciao a tutti, riscrivo un pò sul blog dopo almeno 1 mese (se non di più) di silenzio. Stavolta non sono riuscito a stare in silenzio davanti ai grossi problemi che sta creando Samsung agli sviluppatori e agli utenti del *suo* sistema operativo mobile Bada.&lt;br /&gt;
&lt;br /&gt;
Cosa è successo? In questi giorni, Samsung ha deciso di posticipare l'uscita della versione 2.0 del suo SO per i Wave S8500 (Wave1) e Wave S8530 (Wave2), ovvero i telefoni più potenti della serie Wave -già in grado di supportare Bada 2.0, supportato invece dal fratello Wave&amp;nbsp;S8600, conosciuto come Wave3-. Questo, come dice&amp;nbsp;&lt;a href="http://www.badaitalia.com/2011/12/22/aggiornamento-a-bada-2-0-come-prendere-decisioni-senza-valutare-attentamente-le-possibili-conseguenze/?utm_source=twitterfeed&amp;amp;utm_medium=twitter"&gt;BadaItalia&lt;/a&gt;, significa che una grossa fetta dei 10 milioni di dispositivi venduti con Bada 1.x non avrà (ovviamente) la possibilità di avere le nuove features disponibili, quindi una marea di possibili applicazioni, utility, nuovi modi di sfruttare questo SO che non ha niente da invidiare come potenzialità a SO come Android e iOS.&lt;br /&gt;
&lt;br /&gt;
La mia reazione? Esattamente questa.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.myfacewhen.com/images/260.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://www.myfacewhen.com/images/260.jpg" width="314" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Non posso credere che Samsung possa semplicemente pensare di tagliare fuori dal mercato almeno 2 milioni &amp;nbsp;(se non di più, le cifre ufficiali per ogni modello non sono note) &amp;nbsp;di utenti, che non potranno sfruttare le meravigliose features della seconda versione del *suo* (ripeto, *suo*) SO.&lt;br /&gt;
&lt;br /&gt;
Volete sapere cosa ci staremmo perdendo?&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Text-to-Speech e Speech-to-Text, ovvero il &lt;b&gt;riconoscimento vocale&lt;/b&gt;: cosa non da poco!&lt;/li&gt;
&lt;li&gt;Miglior &lt;b&gt;supporto nativo alle applicazioni HTML5&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Supporto a &lt;b&gt;Flash Lite 4&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Viene supportata &lt;b&gt;OpenAL&lt;/b&gt;, la famosa libreria di gestione audio open source&lt;/li&gt;
&lt;li&gt;Miglior supporto per i &lt;b&gt;task concorrenti&lt;/b&gt;: significa sfruttare meglio il processore e ottenere una velocità maggiore dall'applicazione.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Notifiche push&lt;/b&gt;&amp;nbsp;in puro stile iOS e Android: era ora!&lt;/li&gt;
&lt;li&gt;Possibilità di fare &lt;b&gt;partite in LAN&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VOIP&lt;/b&gt;: finalmente &lt;b&gt;Skype&lt;/b&gt;&amp;nbsp;supportato anche sui Bada!&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Ma quanta roba ci si perde? Finalmente si ha la possibilità di rendere la piattaforma competitiva, efficiente, con caratteristiche interessanti che avrebbero potuto fare qualcosa per attirare ancora più clienti a Samsung... No, si lasciano gli utenti con un prodotto vecchio e gli sviluppatori che devono affrontare il problema della frammentazione dei dispositivi che è addirittura &lt;b&gt;incentivato&lt;/b&gt;&amp;nbsp;dalla casa produttrice.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Errore 1: Gli utenti non hanno soldi da spendere per comprare un Wave 3, quindi resterebbero con il loro Wave o -molto più facilmente- prenderanno un telefono Android di fascia bassa, probabilmente non Samsung. Non ci guadagna nè l'azienda nè l'utente finale.&lt;/div&gt;
&lt;div&gt;
Errore 2: Gli utenti che fuggono dalla piattaforma sono un danno non solo per Samsung ma anche per i tanti sviluppatori indipendenti che postavano applicazioni sul market. [Sulla qualità degli ambienti di sviluppo ci sarebbe da discutere, ma lasciamo stare...] Ovviamente gli sviluppatori si allontanano verso lidi più seguiti e supportati (come, ad esempio, WP7) e gli utenti continuano a fuggire.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Bisogna quindi fare i complimenti a Samsung su come sia riuscita (finalmente) a creare un'alternativa ai maggiori player del mercato, ma nello stesso tempo sia riuscita a tarpare le ali ad un progetto che sarebbe potuto essere spettacolare, utile e produttivo. Complimenti davvero. E meno male che il progetto l'ha creato proprio lei, figurarsi come l'avrebbe trattato se l'avesse portato avanti qualcun altro... forse sarebbe stato in cima ai suoi pensieri, come Android, per esempio.&lt;/div&gt;
&lt;div&gt;
Complimenti, Samsung, complimenti: tu sai come mantenere in vita e far prosperare un progetto, complimentoni.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/zO06B3xTIuc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/zO06B3xTIuc/bada-20-ritardi-e-sviluppatori-come-far.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/12/bada-20-ritardi-e-sviluppatori-come-far.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-2780941979976706540</guid><pubDate>Sun, 30 Oct 2011 17:44:00 +0000</pubDate><atom:updated>2011-10-30T18:44:46.480+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">music recommender systems</category><category domain="http://www.blogger.com/atom/ns#">mentor.fm</category><category domain="http://www.blogger.com/atom/ns#">webapp</category><category domain="http://www.blogger.com/atom/ns#">musica</category><title>Mentor.fm</title><description>ciao a tutti, oggi voglio parlarvi di un progetto molto interessante che ho scoperto ascoltando l'ultimo podcast di &lt;a href="http://digitalia.fm/"&gt;digitalia.fm&lt;/a&gt;, un progetto che tenta di farci ascoltare molta più musica!&lt;br /&gt;
&lt;br /&gt;
si chiama &lt;a href="http://mentor.fm/"&gt;mentor.fm&lt;/a&gt;, è un esperimento accademico che cerca, attraverso i feedback degli utenti, di selezionare i modi migliori di creare playlist in base agli artisti che ti piacciono.&lt;br /&gt;
&lt;br /&gt;
come funziona? è semplice: basta loggarti con il tuo account facebook, la webapp recupera i tuoi musicisti preferiti e crea con qualche algoritmo interno una playlist di 10/15 canzoni; puoi segnalare una buona (o pessima) scelta utilizzando rispettivamente i pulsanti "mi piace" e "non mi piace", che serviranno per creare playlist di maggiore gradimento. Se una playlist non ci soddisfa, possiamo chiederne un'altra, basata sui feedback precedentemente forniti.&lt;br /&gt;
&lt;br /&gt;
Una particolarità del progetto è che non viene mostrato il titolo o l'autore della canzone: è una precauzione, per evitare di essere prevenuti nei confronti di un particolare artista, ovvero di segnalare come "non interessanti" canzoni di artisti che non ci piacciono ma che non sapremmo riconoscere sentendo la canzone. &lt;br /&gt;
&lt;br /&gt;
Quali sono le motivazioni del progetto? Beh, lasciamo parlare l'"about Mentor"&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span style="font-size: 12pt;"&gt;We think that people are often too stick to
 their musical tastes and for this reason we are experimenting methods 
to propose new music to people. Some of these methods can work very 
well, some others very bad. That's the whole point of this experiment, 
we want to understand which is the best way. Use the like and unlike 
buttons to help us with your feedback, music tastes are so fascinating 
and at the same time so complex!&lt;/span&gt;&lt;/blockquote&gt;
La mia esperienza con la web app è stata positiva, ha sempre trovato musica molto interessante, tranne una volta: &lt;b&gt;mai&lt;/b&gt;, e dico mai, &lt;b&gt;farmi sentire Vasco Rossi!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Ottimo progetto, andra avanti solo per un paio di mesi, ma ritengo giusto diffondere il progetto, in modo da far avere molti risultati a questi ricercatori!&lt;br /&gt;
&lt;br /&gt;
Enjoy &lt;a href="http://mentor.fm/"&gt;mentor.fm&lt;/a&gt; and stay tuned!&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/RC18pwat844" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/RC18pwat844/mentorfm.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/10/mentorfm.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-815236666479443664</guid><pubDate>Sat, 01 Oct 2011 15:49:00 +0000</pubDate><atom:updated>2011-10-01T17:49:18.654+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OpenMP</category><category domain="http://www.blogger.com/atom/ns#">awk</category><category domain="http://www.blogger.com/atom/ns#">recensione</category><category domain="http://www.blogger.com/atom/ns#">UnderAttHack</category><category domain="http://www.blogger.com/atom/ns#">articolo</category><category domain="http://www.blogger.com/atom/ns#">PyLinX</category><category domain="http://www.blogger.com/atom/ns#">jQuery</category><category domain="http://www.blogger.com/atom/ns#">floatman</category><title>UnderAttHack numero 15</title><description>si, ormai sono in ritardo, la voce si è sparsa, ma ve lo dico lo stesso: è l'uscito il numero 15 di UnderAttHack!&lt;br /&gt;
&lt;div&gt;
UnderAttHack è una e-zine italiana che propone articoli su tutto quello che può essere interessante per chi si interessa di computer: nuove metodologie di programmazione, argomenti avanzati di informatica spiegati in maniera semplice, sfruttamento di bug dei programmi, reverse engineering, tutorial sulla gestione dei nostri sistemi e molto altro...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In questo numero ci sono 3 articoli:&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Basic jQuery Tutorial&lt;br /&gt;Ottimo articolo, è un tutorial che mostra l'utilizzo base di jQuery e l'applicazione in un guestbook (up'n'running), spiegando molto dettagliatamente ogni parte del codice (scritto in maniera molto chiara).&lt;br /&gt;Complimenti&amp;nbsp;&lt;a alt="PyLinX nerdz profile" href="http://www.nerdz.eu/PyLinX."&gt;PyLinX&lt;/a&gt;, hai scritto un articolo chiaro ed efficace, mi stai facendo venir voglia di smanettarci un pò :D&lt;/li&gt;
&lt;li&gt;Bilancio di esercizio&lt;br /&gt;Articolo interessante scritto da floatman, che mostra le potenzialità di awk come linguaggio di scripting integrato in qualunque distribuzione linux, con prestazioni comparabili - se non superiori - a quelle di perl (che non mi aspettavo fosse molto più veloce di python, e mi chiedo il perchè...) e che vuole dimostrare come non si può sfruttare al massimo il proprio sistema se non lo si conosce a fondo.&lt;br /&gt;Posso solo dire che mi ha incuriosito, un linguaggio molto veloce con una sintassi abbastanza chiara e gestione nativa delle espressioni regolari ne fanno un ottimo strumento che probabilmente studierò.&lt;/li&gt;
&lt;li&gt;Parallelizzare con OpenMP: sfruttiamo la potenza dei processori multicore&lt;br /&gt;Questo è l'articolo di cui vi parlavo nel &lt;a href="http://deltatheprogrammer.blogspot.com/2011/08/i-numeri-primi-di-project-euler-openmp.html"&gt;post del project euler&lt;/a&gt;, che ovviamente parla di OpenMP come tecnologia per lo sviluppo di software in grado di sfruttare i processori multicore senza dover riprogettare l'applicazione da parallelizzare. Fatemi sapere se vi è piaciuto o ci sono domande!&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Per scaricarlo potete utilizzare &lt;a alt="direct link download UnderAttHack 15" href="http://underatthack.org/get.php?n=15"&gt;il link diretto&lt;/a&gt;&amp;nbsp;o scaricarlo sul sito ufficiale.&lt;br /&gt;
Enjoy reading and testing!&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/yIcMqtZufuc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/yIcMqtZufuc/underatthack-numero-15.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/10/underatthack-numero-15.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-4922246640866799747</guid><pubDate>Fri, 23 Sep 2011 14:11:00 +0000</pubDate><atom:updated>2011-09-23T16:11:18.761+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lanciatore</category><category domain="http://www.blogger.com/atom/ns#">notte dei ricercatori</category><category domain="http://www.blogger.com/atom/ns#">Lerici</category><category domain="http://www.blogger.com/atom/ns#">ENEA</category><title>La Notte dei Ricercatori (e dimostrazione di un lanciatore multiplo di sonde batigrafiche)</title><description>Ciao a tutti, oggi voglio parlarvi di un'interessante iniziativa chiamata "La notte dei ricercatori".&lt;br /&gt;
Quest'iniziativa è nata in ambito europeo e coinvolge centinaia di ricercatori ed enti di ricerca per diffondere il piacere della ricerca scientifica e far conoscere gli studi in corso, rendendo il pubblico partecipe.&lt;br /&gt;
Bene, anche io sono dentro a questa manifestazione, ovviamente non come ricercatore ma come partecipante di un progetto tra la mia scuola e l'ENEA per ricostruire e riscrivere il software di un lanciatore multiplo di sonde batigrafiche.(Cos'è? Ve lo spiegherò un altro giorno, quando avrò più tempo, per ora fidatevi :D)&lt;br /&gt;
Se volete per caso venirmi a trovare, potete venire al castello di Lerici per vedere di cosa sto parlando (per tutti gli altri ne farò un articolo per il blog).&lt;br /&gt;
Oltre a me ci saranno diversi enti di ricerca che hanno una sede locale nel territorio spezzino come l'ENEA, INGV, CSSN, NURC... Sarà una manifestazione veramente interessante, a giudicare dal programma&lt;a href="http://www.nottericercatori.it/2011/la-notte-a-lerici/"&gt;[0]&lt;/a&gt;.&lt;br /&gt;
Stay tuned, and do everyday science, it's funny!&lt;br /&gt;
&lt;br /&gt;
Links di riferimento:&lt;br /&gt;
&lt;a href="http://www.nottericercatori.it/"&gt;http://www.nottericercatori.it/&lt;/a&gt;&amp;nbsp;Sito ufficiale della Notte dei Ricercatori.&lt;br /&gt;
&lt;a href="http://www.nottericercatori.it/2011/la-notte-a-lerici/"&gt;http://www.nottericercatori.it/2011/la-notte-a-lerici/&lt;/a&gt;&amp;nbsp;Programma relativo alla manifestazione a cui partecipo&lt;br /&gt;
&lt;a href="http://twitter.com/#!/nottericerca"&gt;http://twitter.com/#!/nottericerca&lt;/a&gt;&amp;nbsp;Un account twitter per seguire la manifestazione&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/xUM3zU_m890" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/xUM3zU_m890/la-notte-dei-ricercatori-e.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/09/la-notte-dei-ricercatori-e.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-3609722290054912393</guid><pubDate>Tue, 23 Aug 2011 16:51:00 +0000</pubDate><atom:updated>2011-08-23T18:51:19.365+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OpenMP</category><category domain="http://www.blogger.com/atom/ns#">Wolfram|Alpha</category><category domain="http://www.blogger.com/atom/ns#">UnderAttHack</category><category domain="http://www.blogger.com/atom/ns#">parallelismo</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">euler project</category><category domain="http://www.blogger.com/atom/ns#">DLL</category><category domain="http://www.blogger.com/atom/ns#">C++</category><title>i numeri primi di project euler? OpenMP è un buon alleato</title><description>Oggi è una giornata molto calda, non avevo niente da fare e ho ripreso in mano project euler. Fino ad oggi avevo evitato tutti gli esercizi con i numeri primi, e quindi ho deciso di cominciare: esercizio 7, tocca a te!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://projecteuler.net/index.php?section=problems&amp;amp;id=7"&gt;L'esercizio sette di project euler&lt;/a&gt; recita:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.&lt;br /&gt;
What is the 10 001st prime number?&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Come sempre nei problemi di project euler le richieste possono sembrare esagerate per essere completate nel giro di un minuto, ma ce la si può fare :D&lt;br /&gt;
&lt;br /&gt;
Avevo bisogno di risultati pronti per la libreria dinamica che stavo sviluppando e... &lt;a href="http://www.wolframalpha.com/input/?i=10001st%20prime%20number"&gt;Wolfram|Alpha ha sempre una risposta!&lt;/a&gt;: ebbravo il motore computazionale di conoscenza di Stephen, potendo sfruttare Mathematica per lui è fin troppo semplice :D&lt;br /&gt;
&lt;br /&gt;
Comunque, necessitavo di una libreria di verifica dei numeri primi... l'ho scritta, sfruttando OpenMP.&lt;br /&gt;
OpenMP è un'interessante libreria, disponibile per C/C++ e Fortran, che permette di sfruttare il parallelismo senza modificare pesantemente o dover riscrivere l'applicazione, troverete (probabilmente) un mio articolo su questa libreria nel numero di settembre di UnderAttHack, per maggiori dettagli leggetelo :D&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
//codice della DLL, test.cpp&lt;br /&gt;
//il file.h contiene solamente i prototipi delle due funzioni&lt;br /&gt;
//compilare con g++ -shared -fPIC -fopenmp test.cpp -o test.so&lt;br /&gt;
#define DLLEXPORT extern "C"&lt;br /&gt;
#include &lt;math.h&gt;&lt;br /&gt;
DLLEXPORT int isParallelPrime(long long int n)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int isprime=1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((n&amp;amp;1)==0) isprime=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long long int limit=(long long int)pow(n, 0.5)+1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma omp parallel for&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(long long int i=3; i&lt;limit; i+="2)&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!(n%i))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma omp atomic&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isprime*=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return isprime;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
DLLEXPORT int isSerialPrime(long long int n)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int isprime=1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((n&amp;amp;1)==0) isprime=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(long long int i=3; i&amp;lt;(long long int)pow(n, 0.5)+1; i+=2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!(n%i))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isprime=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return isprime;&lt;br /&gt;
}&lt;/limit;&gt;&lt;/math.h&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
il codice Python che risolve effettivamente il problema 7&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
#!/usr/bin/python &lt;br /&gt;
import sys&lt;br /&gt;
from ctypes import cdll&lt;br /&gt;
&lt;br /&gt;
#usage: python ex7.py 10001&lt;br /&gt;
if __name__=="__main__":&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; n=int(sys.argv[1])&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; mydll=cdll.LoadLibrary("./test.so")&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; nprimes=0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; candidate_prime=1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while nprimes:&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;n: &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;="" &lt;="" code="" if="" mydll.isparallelprime(candidate_prime):&lt;="" n:=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if mydll.isParallelPrime(candidate_prime)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nprimes+=1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if nprimes&lt;n and="" candidate_prime=""&gt;2:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; candidate_prime+=2&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; elif nprimes&lt;n and="" candidate_prime&lt;="2:&amp;lt;br"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; candidate+=1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; #prints result.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; print nprimes, n, i&lt;br /&gt;
&lt;/n&gt;&lt;/n&gt;&lt;/n:&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
voglio mostrarvi i tempi (&lt;i&gt;lies, damn lies and benchmarks&lt;/i&gt;) di esecuzione di ex7.py (AMD Phenom II X4 955 su Fedora 15 con kernel 2.6.40)&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
[alfateam123@alfateam123 testDll]$ time python ex7.py 10001 #usando isParallelPrime&lt;br /&gt;
10001 10001 104743&lt;br /&gt;
&lt;br /&gt;
real&amp;nbsp;&amp;nbsp;&amp;nbsp; 0m0.227s&lt;br /&gt;
user&amp;nbsp;&amp;nbsp;&amp;nbsp; 0m0.707s&lt;br /&gt;
sys&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0m0.038s&lt;br /&gt;
[alfateam123@alfateam123 testDll]$ time python ex7.py 10001 #usando isSerialPrime&lt;br /&gt;
10001 10001 104743&lt;br /&gt;
&lt;br /&gt;
real&amp;nbsp;&amp;nbsp;&amp;nbsp; 0m0.713s&lt;br /&gt;
user&amp;nbsp;&amp;nbsp;&amp;nbsp; 0m0.695s&lt;br /&gt;
sys&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0m0.012s &lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
In conclusione: non avevo niente di meglio da fare che mostrarvi il frutto delle mie fatiche mentali, non mi interessa che le apprezziate o meno. Divertitevi. Ah, e non perdetevi il mio (probabile) articolo su UnderAttHack! :D&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/M0pp6G7z6Rc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/M0pp6G7z6Rc/i-numeri-primi-di-project-euler-openmp.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/08/i-numeri-primi-di-project-euler-openmp.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-5493028254994324953</guid><pubDate>Fri, 29 Jul 2011 13:04:00 +0000</pubDate><atom:updated>2011-07-29T15:06:55.172+02:00</atom:updated><title>PRRRR: PRRRR</title><description>&lt;a href="http://anonops-ita.blogspot.com/2011/07/prrrr.html?spref=bl"&gt;PRRRR: PRRRR&lt;/a&gt;: "Sua santità  OwNzL you!  Potete anche tornare a casa bei pampini :D &lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;img src="http://s3.amazonaws.com/twitpic/photos/large/358829728.png?AWSAccessKeyId=AKIAJF3XCCKACR3QDMOA&amp;Expires=1311942350&amp;Signature=8d9at9Y9ZDAIF9drnH59s5AQ4bo%3D" /&gt;&lt;/div&gt;&lt;div&gt;così appare il blog degli AnonIta, defacciato da un h4x0r che ha rubato la password ad un altro h4x0r, autore inattivo da un anno del blog.&lt;/div&gt;&lt;div&gt;Trololol, se questi sono hacker esperti in sicurezza, immaginiamo che sicurezza! :D&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/SmhF9gBER5k" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/SmhF9gBER5k/prrrr-prrrr.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/07/prrrr-prrrr.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-7549038064274433783</guid><pubDate>Fri, 24 Jun 2011 10:21:00 +0000</pubDate><atom:updated>2011-06-24T13:11:17.443+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">csv</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">complessittà computazionale</category><category domain="http://www.blogger.com/atom/ns#">dijkstra</category><category domain="http://www.blogger.com/atom/ns#">ottimizzazione</category><category domain="http://www.blogger.com/atom/ns#">algoritmi</category><title>Sul valore dell'ottimizzazione</title><description>Ciao a tutti, oggi voglio parlarvi del valore dell'ottimizzazione, soprattutto algoritmica.&lt;br /&gt;
&lt;br /&gt;
Oggi ho avuto l'occasione di riprendere in mano un vecchio script Python che era utile per calcolare Dijkstra su un grafo definito in un file CSV.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="color: red;"&gt;La prima versione: O(2(N^4-N^3))&lt;/div&gt;&lt;div style="color: red;"&gt;&lt;span style="color: white;"&gt;La prima versione aveva una complessità computazione esagerata, e ora vi spiego perchè:&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;1) Dijkstra ha complessità O(n^2)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;2) I percorsi possibili, escludendo quelli da un nodo a se stesso, in un grafo sono le disposizioni di n elementi di classe 2, ovvero n(n-1)&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;3) Dato che l'algoritmo necessita, per poter generare un report, sia della distanza minima sia del percorso minimo, Dijkstra viene ricalcolato 2 volte.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;Totale: 2n^2*(n(n-1))=2(n^2(n^2-n))=2(n^4-n^3)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Il costo è un tantino troppo alto!&lt;br /&gt;
&lt;span style="color: white;"&gt;Dato che il costo, come potete benissimo osservare, è troppo alto, mi è venuto in mente che si potevano ottimizzare le chiamate alla funzione calcolante Dijkstra, potendo quindi (dato che aggiorna oggetti globali, quindi sempre accessibili) risparmiare calcolo inutile. Ma come?&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;Semplice, Dijkstra non necessita di un punto di terminazione (ovvero un parametro che indichi il nodo di arrivo), visitando così tutto il grafo.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;Da questa premessa, è facile arrivare alla seconda versione del programma.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;Seconda versione: O(n^3)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: white;"&gt;Ora il costo è nettamente diminuito, dato che ora è possibile&lt;/span&gt; &lt;span style="color: white;"&gt;evitare di ricalcolare Dijkstra.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: white;"&gt;In pratica ora il calcolo viene eseguito solo N volte, quindi n*n^2=n^3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;Un pesantissimo test: grafo da 120 nodi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;Con questo test (generato in maniera del tutto casuale) ho testato i tempi.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;questo è il risultato della vecchia versione&lt;br /&gt;
&lt;i style="color: lime;"&gt;C:\Users\delta\Desktop\RoadRagePythonVersion&amp;gt;road_rage.py enormeFileCSV.csv&lt;br /&gt;
2011-06-24 11:18:19.192000&lt;br /&gt;
28560&lt;br /&gt;
2011-06-24 11:23:42.812000&lt;br /&gt;
&lt;br /&gt;
C:\Users\delta\Desktop\RoadRagePythonVersion&amp;gt;&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;questo è il risultato della nuova versione&lt;i style="color: lime;"&gt;&lt;br /&gt;
C:\Users\delta\Desktop\RoadRagePythonVersionOptNoParallel&amp;gt;road_rage.py enormeFileCSV.csv&lt;br /&gt;
2011-06-24 11:19:22.604000&lt;br /&gt;
120&lt;br /&gt;
2011-06-24 11:19:34.927000&lt;br /&gt;
&lt;br /&gt;
C:\Users\delta\Desktop\RoadRagePythonVersionOptNoParallel&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;Come avrete notato, la seconda versione richiama Dijkstra 120 volte e ci mette ben 12 secondi a macinare il tutto, mentre la vecchia versione fa 28560 chiamate a Dijkstra e utilizza quasi 5 minuti e mezzo per portare a termine il proprio lavoro.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;Quindi potete osservare che l'ottimizzazione dei propri progetti è la parte migliore del lavoro, oltre che necessaria! L'ottimizzazione dovrebbe essere però fatta nella fase di progettazione, dove il codice non è ancora stato scritto e si ha tutto il tempo per riflettere sulle possibili ottimizzazioni e l'utilizzo delle strutture dati corrette, permettendo quindi di scrivere codice già ottimizzato.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;Stay tuned!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: white;"&gt;&lt;span style="color: red;"&gt;&lt;span style="color: lime;"&gt;&lt;span style="color: white;"&gt;(prossimamente caricherò le due versioni del programma e il file csv, attendete prego :D)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/yB__JlaMK0w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/yB__JlaMK0w/sul-valore-dellottimizzazione.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/06/sul-valore-dellottimizzazione.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-2357388014887219386</guid><pubDate>Wed, 11 May 2011 21:06:00 +0000</pubDate><atom:updated>2011-05-22T21:40:26.171+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">programmazione</category><category domain="http://www.blogger.com/atom/ns#">new guys can't code</category><category domain="http://www.blogger.com/atom/ns#">sperimentare</category><title>Why The New Guy Can’t Code</title><description>&lt;a href="http://techcrunch.com/2011/05/07/why-the-new-guy-cant-code/"&gt;Why The New Guy Can’t Code&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;ho letto questo articolo, e mi è sembrato un ottimo punto di partenza per discutere della preparazione dei ragazzi (di quello che effettivamente imparano) e di ciò che le aziende necessitano.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Appena ho finito di leggere ho pensato: spero che, come &lt;a href="http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html"&gt;quest'altro&lt;/a&gt;, questo post sia solo un'esagerazione.&lt;br /&gt;
Come è possibile che neolaureati non sappiano fare una *ricerca binaria*? L'unico modo per spiegare questa *anomalia* è una sola: questi ragazzi non hanno studiato. O meglio, hanno studiato giusto quel poco che bastava per superare l'esame.&lt;br /&gt;
&lt;br /&gt;
Il che indica che NON è la scuola ad essere carente - se gli insegnanti sono motivati, anche con poco riescono a fare molto - ma sono i ragazzi a non aver voglia di capire, approfondire, studiare più a fondo, *sperimentare*.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Sperimentare&lt;/u&gt;, la parola chiave: è inutile limitarsi ai piccoli esempi di codice, da copiare senza capire, ma *bisogna* aumentare la propria conoscenza cercando di creare, inserire nuove idee in progetti di altri programmatori, insomma, **se la passione manca, non si va molto avanti**.&lt;br /&gt;
&lt;br /&gt;
Le aziende, ho avuto modo di capirlo in due settimane, hanno bisogno di persone che non si arrendano davanti ad un errore, che non devono dire "non è il mio campo, non so come si fa!", di persone preparate ad affrontare qualunque situazione, che sappiano mettere le mani e risolversi i problemi, che siano autonome e che *facciano*. L'autonomia deriva da una certa sicurezza, che non si aquisisce se non si &lt;u&gt;sperimenta&lt;/u&gt;.&lt;br /&gt;
&lt;br /&gt;
Riassumendo, se i ragazzi non hanno voglia di studiare, nella loro testolina non entra un bel niente. Poco ma sicuro. E se non hanno capito (per loro volontà) ciò che è stato loro insegnato, al primo problema chiedono aiuto. La situazione è grave. Ognuno di noi dovrebbe fare qualcosa per migliorarla. Cominciamo.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/3enCMKQO7KM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/3enCMKQO7KM/why-new-guy-cant-code.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/05/why-new-guy-cant-code.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-8823666425465167084</guid><pubDate>Mon, 18 Apr 2011 15:10:00 +0000</pubDate><atom:updated>2011-04-18T17:22:37.261+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">lego</category><category domain="http://www.blogger.com/atom/ns#">fantasia</category><category domain="http://www.blogger.com/atom/ns#">catena di montaggio</category><category domain="http://www.blogger.com/atom/ns#">lego mindstorms</category><category domain="http://www.blogger.com/atom/ns#">youtube</category><title>Catena di montaggio: fantasia e Lego Mindstorms!</title><description>&lt;object height="349" width="560"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/rWd3vgLaA_M?fs=1&amp;amp;hl=it_IT&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube-nocookie.com/v/rWd3vgLaA_M?fs=1&amp;amp;hl=it_IT&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
Direi che i Lego non passano mai di moda, e questa ne è la dimostrazione. Tutta la "catena di montaggio" è programmata utilizzando dei &lt;a href="http://mindstorms.lego.com/en-us/Default.aspx"&gt;Lego Mindstorms&lt;/a&gt;, che non sono altro dei piccoli processori embedded che comunicano con una serie di sensori e motori. La Fantasia fa il resto.&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/6uPfkklELyU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/6uPfkklELyU/blog-post.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/04/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-5702221865861993827</guid><pubDate>Sun, 27 Feb 2011 15:13:00 +0000</pubDate><atom:updated>2011-02-27T16:13:09.648+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">irc bot</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">devshed</category><title>il magico mondo dei bot IRC!</title><description>Non sapete quanto è bello costruirsi con le proprie mani un bot IRC!&lt;br /&gt;
&lt;div&gt;Niente di complicato, se si utilizza la libreria &lt;a href="http://python-irclib.sf.net/"&gt;python-irclib&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Il codice che si utilizza è molto pythonico, permette di astrarre l'applicazione&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Documentazione libreria (in pratica esempi) su &lt;a href="http://www.devshed.com/c/a/Python/IRC-on-a-Higher-Level/"&gt;devshed&lt;/a&gt;, sono 3 articoli.&lt;br /&gt;
&lt;br /&gt;
Quello che ho costruito si può trovare &lt;a href="http://deltaprogrammer.altervista.org/sources/deltaBot.html"&gt;a questo indirizzo!&lt;/a&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/adhjU0ImtqQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/adhjU0ImtqQ/il-magico-mondo-dei-bot-irc.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/02/il-magico-mondo-dei-bot-irc.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4368759114883688663.post-907749450139919770</guid><pubDate>Sat, 05 Feb 2011 21:50:00 +0000</pubDate><atom:updated>2011-02-05T22:50:14.538+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">mercurial</category><category domain="http://www.blogger.com/atom/ns#">tutorial</category><category domain="http://www.blogger.com/atom/ns#">hg</category><title>Mercurial: il repository facile facile!</title><description>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Ciao a tutti, questo è un piccolo tutorial su Mercurial e bitbucket.org, due strumenti che vi permetteranno di gestire in maniera molto semplice le varie versioni del vostro programma, sia esso il vostro supermega FPS o un tranquillo script tuttofare da riga di comando!&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Cominciamo con Mercurial:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Cos'è?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;-Semplice, &lt;a href="http://mercurial.selenic.com/"&gt;Mercurial&lt;/a&gt;&amp;nbsp;è un &lt;a href="http://en.wikipedia.org/wiki/Revision_control"&gt;VCS (Versioning Control System)&lt;/a&gt;, veloce e leggero creato per poter maneggiare in modo facile e veloce progetti distribuiti (ovvero su cui lavorano più persone) di grosse dimensioni.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Cosa devo installare prima di cominciare?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;-Se lavori su Windows devi scaricare Mercurial da&amp;nbsp;&lt;a href="http://mercurial.selenic.com/downloads/"&gt;http://mercurial.selenic.com/&lt;/a&gt;, cliccando sul bottone "Download Now"; comincerai così a scaricare l'installer per la tua versione di Windows.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Nel caso tu lavorassi su altri sistemi, hai a disposizione pacchetti precompilati da poter scaricare ed installare da riga di comando:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style="font-size: 16px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;# Debian/Ubuntu
$ apt-get install mercurial

# Fedora
$ yum install mercurial

# Gentoo
$ emerge mercurial

# FreeBSD
$ cd /usr/ports/devel/mercurial
$ make install

# Solaris 11 Express
$ pkg install SUNWmercurial&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-size: 16px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-size: 16px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Nota Bene: Mercurial è scritto in Python, e necessiterai di una versione dalla 2.4 alla 2.7, pena il non funzionamento del programma. Su sistemi Win l'interprete Python viene incluso direttamente nell'eseguibile hg.exe&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;!-- there's something... --&gt;&lt;br /&gt;
&lt;pre style="font-size: 16px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-size: 16px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-size: 16px; line-height: 22px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-size: small; line-height: normal; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: white; font-family: 'Trebuchet MS', sans-serif;"&gt;Dobbiamo adesso configurare il nostro Mercurial &amp;nbsp;per poter lavorare al meglio: abbiamo bisogno di modificare un file di configurazione in cui inserire il nostro nome.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&amp;gt;Su sistemi windows bisogna modificare un file .ini, che si trova ai seguenti percorsi:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;-Se avete XP o sistemi precedenti (e.g. win98, win95) --&amp;gt;;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;/span&gt;C:\Documents and Settings\USERNAME\Mercurial.ini&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;-Se avete Vista o win7 --&amp;gt;;&lt;/span&gt; &lt;span class="Apple-style-span" style="white-space: normal;"&gt;C:\Users\USERNA&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;ME\Mercurial.in&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;Aprite i file con blocco note, e modificateli inserendo queste righe di codice:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; white-space: normal;"&gt;#mercurial configuration&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif; white-space: normal;"&gt;[ui]&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif; white-space: normal;"&gt;username = YOUR_USERNAME&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;&amp;gt;Su sistemi linux la procedura è simile a quella dei sistemi windows, ma cambiano i percorsi ed alcune piccole cose da tenere bene in considerazione:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;-aprite Konsole (o il vostro terminale)&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;-scrivete&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; white-space: normal;"&gt;$ cd #portatevi nella cartella principale&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; white-space: normal;"&gt;$ su #loggatevi come amministratori&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;(dovete loggarvi come root perché il sistema non vi lascerà modificare file di configurazione)&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: normal;"&gt;# vi&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;.hgrc&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;-inserite lo stesso codice riportato precedentemente Windows.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Ora il vostro sistema è configurato per poter lavorare tranquillamente!&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Cominciamo ora a creare il primo repository locale...&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Un&amp;nbsp;&lt;a href="http://it.wikipedia.org/wiki/Repository"&gt;repository&lt;/a&gt;&amp;nbsp;non è nient'altro che una cartella (locale o online) dove depositare tutto il codice che hai scritto (e non solo), che viene aggiornata tramite software VCS.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;(Nota bene: i comandi sono gli stessi su tutti i sistemi operativi)&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Creazione:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; line-height: 19px; white-space: normal;"&gt;$hg init nuovoprogetto&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;questo semplice comando ti permette di creare un repository di nome nuovoprogetto.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Apriamo ora blocco note, scriviamo "ciao" e salviamo il file nella cartella nuovoprogetto con il nome "ciao.txt"&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Verifichiamo la sua esistenza da riga di comando:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; line-height: 19px; white-space: normal;"&gt;$hg stat&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;? ciao.txt&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Beh, se vi appare il file esiste. per poterlo aggiungere al progetto basta scrivere&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; line-height: 19px; white-space: normal;"&gt;$hg add ciao.txt&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Il suo stato cambierà ora in A (added)!&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; line-height: normal; white-space: normal;"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; line-height: 19px; white-space: normal;"&gt;$hg stat&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;pre style="font-family: 'Times New Roman'; line-height: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;A ciao.txt&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-family: 'Times New Roman'; line-height: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;Possiamo dichiararci soddisfatti delle modifiche apportate e quindi salviamo le modifiche...&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: red; line-height: 19px; white-space: normal;"&gt;$hg commit -m "creato, modificato ed aggiunto il file 'ciao.txt'"&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: normal;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span"&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;Adesso però vogliamo eliminare il file "ciao.txt"&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;$hg forget ciao.txt&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;$rm ciao.txt #del ciao.txt su win&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;Nota bene: MAI CANCELLARE DIRETTAMENTE file senza lanciare forget, altrimenti mercurial, non trovando (giustamente) i file, li dichiarerà "missing" (mancanti) e il repo potrebbe corrompersi, rendendolo non leggibile.&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;Salviamo adesso la modifica fatta al repo:&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="color: red; font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;$hg commit -m "eliminato 'ciao.txt' muhahah" #;D&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;Nel prossimo post illustrerò come poter rendere disponibile al mondo intero il proprio codice...&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; white-space: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;Stay updated!&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Alfateam123sBlog/~4/c1pDTegqLIM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/Alfateam123sBlog/~3/c1pDTegqLIM/mercurial-il-repository-facile-facile.html</link><author>noreply@blogger.com (alfateam123)</author><thr:total>0</thr:total><feedburner:origLink>http://deltatheprogrammer.blogspot.com/2011/02/mercurial-il-repository-facile-facile.html</feedburner:origLink></item></channel></rss>
