<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>ReArchitecting . . .</title>
	<atom:link href="http://rearchitect.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rearchitect.wordpress.com</link>
	<description>Piero Campanelli's Blog about Software Development, Patterns and more . . .</description>
	<lastBuildDate>Tue, 01 Jun 2010 06:55:12 +0000</lastBuildDate>
	<language></language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rearchitect.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>ReArchitecting . . .</title>
		<link>http://rearchitect.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://rearchitect.wordpress.com/osd.xml" title="ReArchitecting . . ." />
	<atom:link rel='hub' href='http://rearchitect.wordpress.com/?pushpress=hub'/>
		<item>
		<title>A sketch of Adobe Flex Architecture capabilities</title>
		<link>http://rearchitect.wordpress.com/2008/01/20/a-sketch-of-adobe-flex-architecture-capabilities/</link>
		<comments>http://rearchitect.wordpress.com/2008/01/20/a-sketch-of-adobe-flex-architecture-capabilities/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 06:46:10 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rearchitect.wordpress.com/?p=65</guid>
		<description><![CDATA[I am evaluating Adobe Flex technology to do rich internet applications. Sometimes a picture is worth a thousand words: so in the following I sketched an overview of Flex programming capabilities. Diagram focuses on how to create a Flash Application (compiling MXML and Actionscript files using the free Flex SDK) and on what kind of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=65&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
I am evaluating <a href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex</a> technology to do <a href="http://en.wikipedia.org/wiki/Rich_Internet_application">rich internet</a> applications. Sometimes <cite>a picture is worth a thousand words</cite>: so in the following I sketched an overview of Flex programming capabilities.</p>
<p>
Diagram focuses on how to create a Flash Application (compiling <a href="http://en.wikipedia.org/wiki/MXML" target="_blank">MXML</a> and <a href="http://en.wikipedia.org/wiki/Actionscript" target="_blank">Actionscript</a> files using the free Flex <a href="http://www.adobe.com/products/flex/sdk/" target="_blank">SDK</a>) and on what kind of interactions a Flex-made application can perform with external systems.
</p>
<p style="text-align:center;">
<img src="http://rearchitect.files.wordpress.com/2008/01/flash.png?w=700" alt="Flash.png" title="Flash.png" border="0" />
</p>
<p>
Some starting (and incomplete) references:</p>
<ul>
<li><b>Protocols</b></li>
</ul>
<ul>
<li>AMF (Action Message Format) used for serializing objects [<a href="http://en.wikipedia.org/wiki/Action_Message_Format" target="_blank">link</a>]</li>
<li>RTMP (Real Time Messaging protocol) used for messaging [<a href="http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol">link</a>]</li>
</ul>
<li><b>Project &amp; Products</b></li>
<ul>
<li>Adobe Flex Data Service (renamed in Adobe Lifecycle Services) [<a href="http://www.adobe.com/products/flex/dataservices/" target="_blank">link</a>]</li>
<li>Open AMF  [<a href="http://www.openamf.com/cms/" target="_blank">link</a>]</li>
<li>Red5 Flash Server [<a href="http://osflash.org/red5" target="_blank">link</a>]</li>
</ul>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/65/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/65/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=65&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2008/01/20/a-sketch-of-adobe-flex-architecture-capabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>

		<media:content url="http://rearchitect.files.wordpress.com/2008/01/flash.png" medium="image">
			<media:title type="html">Flash.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Dumbest successfull business ideas&#8230;..</title>
		<link>http://rearchitect.wordpress.com/2007/07/18/dumbest-successfull-business-ideas/</link>
		<comments>http://rearchitect.wordpress.com/2007/07/18/dumbest-successfull-business-ideas/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 16:02:23 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[business]]></category>

		<guid isPermaLink="false">https://rearchitect.wordpress.com/2006/07/18/dumbest-successfull-business-ideas/</guid>
		<description><![CDATA[weirdtechnewshub blog reports a list of the top ten dumbest business ideas that made big time. Being geeks we think that we have to create big-complext-technical-things to sell something, instead may be it is simpler&#8230;&#8230;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=49&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://weirdtechnewshub.blogspot.com" target="_blank">weirdtechnewshub</a> blog reports a list of the top ten <a href="http://weirdtechnewshub.blogspot.com/2006/07/top-10-dumbest-online-business-ideas.html" target="_blank">dumbest</a> business ideas that made big time.</p>
<p>Being geeks we think that we have to create <a href="http://www.meridian.net.au/Art/Artists/MCEscher/Gallery/Images/escher-relativity-woodcut-small.jpg" target="_blank">big-complext-technical-things</a> to sell something, instead may be it is simpler&#8230;&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/49/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/49/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=49&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2007/07/18/dumbest-successfull-business-ideas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
		<item>
		<title>YubNub &#8211; Command Line for the Web</title>
		<link>http://rearchitect.wordpress.com/2006/07/18/yubnub-command-line-for-the-web/</link>
		<comments>http://rearchitect.wordpress.com/2006/07/18/yubnub-command-line-for-the-web/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 10:46:47 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">https://rearchitect.wordpress.com/2006/07/18/yubnub-command-line-for-the-web/</guid>
		<description><![CDATA[Being a big fan of the command line, I find very useful YubNub service, which is a social command line for the web. Search plugins can be easily installed in your favorite browser. When you are lazy typing commands, you can use Firefox extension called FastYub! from SystemPuntoOut.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=44&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Being a big fan of the <a href="http://en.wikipedia.org/wiki/Command_line" target="_blank">command line</a>, I find very useful <a href="http://yubnub.org/" target="_blank">YubNub</a> service, which is a social command line for the web. Search plugins can be easily <a href="http://yubnub.org/documentation/describe_installation" target="_blank">installed </a>in your favorite browser.</p>
<p>When you are lazy typing commands, you can use Firefox extension called <a href="https://addons.mozilla.org/firefox/1807/" target="_blank">FastYub!</a> from <a href="http://systempuntoout.blogspot.com/" target="_blank">SystemPuntoOut</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/44/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/44/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/44/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/44/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/44/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=44&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/07/18/yubnub-command-line-for-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Development Tools Mindmap</title>
		<link>http://rearchitect.wordpress.com/2006/04/01/software-development-tools-mindmap/</link>
		<comments>http://rearchitect.wordpress.com/2006/04/01/software-development-tools-mindmap/#comments</comments>
		<pubDate>Sat, 01 Apr 2006 13:33:41 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[mindmap]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">https://rearchitect.wordpress.com/2006/04/01/software-development-tools-mindmap/</guid>
		<description><![CDATA[I am writing a mindmap that represents a set of useful team tools for software development projects. Clearly it&#39;s still far from completeness. I have included &#34;most-used&#34; tools and some categories are still incomplete (for example &#34;Modeling&#34;). I think that the adoption of a tool/practice is dependent of the project context, the team and project [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=38&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am writing a mindmap that represents a set of useful team tools for software development projects. Clearly it&#39;s still far from completeness. I have included &quot;most-used&quot; tools and some categories are still incomplete (for example &quot;Modeling&quot;).</p>
<p>I think that the adoption of a tool/practice is dependent of the project context, the team and project of course. Feel free to <b>tell me</b> if I am missing something important.</p>
<p>(click on image)</p>
<table>
<tr>
<td><a href="http://rearchitect.files.wordpress.com/2006/04/tools.jpeg"><img src="http://rearchitect.files.wordpress.com/2006/04/tools_thumb.jpeg?w=382&#038;h=316" alt="tools_thumb.jpeg" height="316" width="382" /></a></td>
</tr>
</table>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=38&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/04/01/software-development-tools-mindmap/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>

		<media:content url="http://rearchitect.files.wordpress.com/2006/04/tools_thumb.jpeg" medium="image">
			<media:title type="html">tools_thumb.jpeg</media:title>
		</media:content>
	</item>
		<item>
		<title>What is your perfect major? (Quizfarm.com)</title>
		<link>http://rearchitect.wordpress.com/2006/03/30/what-is-your-perfect-major-quizfarmcom/</link>
		<comments>http://rearchitect.wordpress.com/2006/03/30/what-is-your-perfect-major-quizfarmcom/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 11:58:30 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">https://rearchitect.wordpress.com/2006/03/30/what-is-your-perfect-major-quizfarmcom/</guid>
		<description><![CDATA[Tests show that I have to leave computers for dedicating to great themes of life&#8230;. &#160; You scored as Philosophy. You should be a Philosophy major! Like the Philosopher, you are contemplative and you enjoy thinking about the purpose for humanity&#39;s existence. Philosophy &#160; 83% Sociology &#160; 75% English &#160; 75% Engineering &#160; 67% Biology [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=34&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://quizfarm.com">Tests</a> show that I have to leave computers for dedicating to great themes of life&#8230;.</p>
<blockquote>
<table border="0" cellpadding="5" cellspacing="0" width="600">
<tr>
<td>&nbsp;</td>
<td>You scored as <b>Philosophy</b>. You should be a Philosophy major! Like the Philosopher, you are contemplative and you enjoy thinking about the purpose for humanity&#39;s existence.</p>
<table border="0" cellpadding="0" cellspacing="0" width="300">
<tr>
<td><font face="Arial" size="1">Philosophy</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="83">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">83%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Sociology</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="75">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">75%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">English</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="75">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">75%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Engineering</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="67">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">67%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Biology</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="67">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">67%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Mathematics</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="67">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">67%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Linguistics</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="58">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">58%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Chemistry</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="50">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">50%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Journalism</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="50">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">50%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Anthropology</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="50">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">50%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Psychology</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="50">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">50%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Theater</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="42">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">42%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Dance</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="25">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">25%</font></td>
</tr>
<tr>
<td><font face="Arial" size="1">Art</font></td>
<td>
<table bgcolor="#dddddd" border="1" cellpadding="0" cellspacing="0" width="25">
<tr>
<td>&nbsp;</td>
</tr>
</table>
</td>
<td><font face="Arial" size="1">25%</font></td>
</tr>
</table>
<p><a href="http://quizfarm.com/test.php?q_id=119158">What is your Perfect Major? (PLEASE RATE ME!!&lt;3)</a><br />
<font face="Arial" size="1">created with <a href="http://quizfarm.com/">QuizFarm.com</a></font></td>
</tr>
</table>
</blockquote>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=34&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/03/30/what-is-your-perfect-major-quizfarmcom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
		<item>
		<title>Software design principles (mined from Books and papers)</title>
		<link>http://rearchitect.wordpress.com/2006/02/12/software-design-principles-mined-from-books-and-papers/</link>
		<comments>http://rearchitect.wordpress.com/2006/02/12/software-design-principles-mined-from-books-and-papers/#comments</comments>
		<pubDate>Sun, 12 Feb 2006 22:37:06 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[object oriented]]></category>
		<category><![CDATA[pattern]]></category>

		<guid isPermaLink="false">http://rearchitect.wordpress.com/2006/02/12/software-design-principles-mined-from-books-and-papers/</guid>
		<description><![CDATA[In the last post I wrote that &#8220;Design principles are quite generic and abstract that rarely help concretely a developer during the process of software design”. In this post I report a list of Software Design principles that I have mined from several books, papers. Source: [Gamma et all, "Design Patterns: Elements of Reusable Object-Oriented [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=33&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the last post I wrote that &#8220;<i>Design principles are quite generic and abstract that rarely help concretely a developer during the process of software design</i>”.<br />
In this post I report a list of <b>Software Design principles</b> that I have mined from several books, papers.</p>
<p>Source: [<i>Gamma et all, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995</i>]</p>
<ul>
<li>Program an Interface not an Implementation</li>
<li>Favor Composition Versus Inheritance</li>
<li>Find what varies and encapsulate it</li>
</ul>
<p>Source: [<i>R. Martin, “Agile Software Development, Principles, Patterns, and Practices”, Prentice-Hall, 2002</i>]</p>
<ul>
<li>Dependency-Inversion Principle</li>
<li>Liskov Substitution Principle</li>
<li>Open-Closed Principle</li>
<li>Interface-Segregation Principle</li>
<li>Reuse/Release Equivalency Principle</li>
<li>Common Closure Principle</li>
<li>Common Reuse Principle</li>
<li>Acyclic Dependencies Principle</li>
<li>Stable Dependencies Principle</li>
<li>Stable Abstraction Principle</li>
</ul>
<p><span id="more-33"></span>Source: [<i>Larman, “Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development”, Prentice-Hall, 2004</i>]</p>
<ul>
<li>Design principles are codified in the GRASP Pattern</li>
<li>GRASP (Pattern of General Principles in Assigning Responsabilities)</li>
<li>Assign a responsibility to the information expert</li>
<li>Assign a responsability so that coupling remains low</li>
<li>Assign a responsability so that cohesion remains high</li>
<li>Assign responsabilities using polymorphic operations</li>
<li>Assign a highly cohesive set of responsabilities to an artificial class that does not represent anything in the problem domain (when you want to maintain low coupling and high cohesion)</li>
<li>Don&#8217;t talk to strangers (Law of Demeter)</li>
</ul>
<p>Source: [<i>Parnas, "On the Criteria To Be Used in Decomposing Systems into Modules", Commununication of ACM, 1972</i>]</p>
<ul>
<li>Information Hiding</li>
<li>Modularity</li>
</ul>
<p>Source: [<i>Hunt, Thomas, “The Pragmatic Programmer: From Journeyman to Master”, Addison-Wesley, 1999</i>]</p>
<ul>
<li>DRY – Don’t Repeat yourself</li>
<li>Make it easy to reuse</li>
<li>Design for Orthogonality</li>
<li>Eliminate effects between unrelated things</li>
<li>Program close to the problem domain</li>
<li>Minimize Coupling between Modules</li>
<li>Design Using Services</li>
<li>Always Design for Concurrency</li>
<li>Abstractions Live Longer than details</li>
</ul>
<p>Source: [<i>Lieberherr,Holland, “Assuring Good Style for Object-Oriented Programs”, IEEE Software, September 1989</i>]</p>
<ul>
<li>Law of Demeter</li>
</ul>
<p>Source: [<i>Raymond, "Art of Unix Programming", Addison-Wesley, 2003</i>]</p>
<ul>
<li>Rule of Modularity: Write simple parts connected by clean interfaces</li>
<li>Rule of Clarity: Clarity is better than cleverness.</li>
<li>Rule of Composition: Design programs to be connected to other programs.</li>
<li>Rule of Separation: Separate policy from mechanism; separate interfaces from engines</li>
<li>Rule of Simplicity: Design for simplicity; add complexity only where you must</li>
<li>Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do</li>
<li>Rule of Transparency: Design for visibility to make inspection and debugging easier</li>
<li>Rule of Robustness: Robustness is the child of transparency and simplicity</li>
<li>Rule of Representation: Fold knowledge into data so program logic can be stupid and robust</li>
<li>Rule of Least Surprise: In interface design, always do the least surprising thing</li>
<li>Rule of Silence: When a program has nothing surprising to say, it should say nothing</li>
<li>Rule of Repair: When you must fail, fail noisily and as soon as possible</li>
<li>Rule of Economy: Programmer time is expensive; conserve it in preference to machine time</li>
<li>Rule of Generation: Avoid hand-hacking; write programs to write programs when you can</li>
<li>Rule of Optimization: Prototype before polishing. Get it working before you optimize it</li>
<li>Rule of Diversity: Distrust all claims for &#8220;one true way&#8221;</li>
<li>Rule of Extensibility: Design for the future, because it will be here sooner than you think</li>
</ul>
<p>Source: [<i>Coplein, "Multi-paradigm Design for C++", Addison-Wesley, 1998</i>]</p>
<ul>
<li>Commonality/Variability Analysis</li>
</ul>
<p>Source: [<i>Lidwell et all., "Universal Design Principles", Rockport, 2003</i>]</p>
<p><i>I report only a subset of principles that according to me apply directly to software design:</i></p>
<ul>
<li>80/20 Rule</li>
<li>Consistency</li>
<li>Cost-Benefit</li>
<li>Layering</li>
<li>Modularity</li>
<li>Ockam&#8217;s Razor</li>
</ul>
<p>Source: [Meyer, "Object Oriented Software Construction", Prentice-Hall, 1997]</p>
<ul>
<li>Modularity</li>
<li>Direct Mapping</li>
<li>Few Interfaces</li>
<li>Small Interfaces</li>
<li>Explicit Interfaces</li>
<li>Information Hiding</li>
<li>Linguistic Modular Units</li>
<li>Self-Documentation Principle</li>
<li>Uniform-Access Principle</li>
<li>Open-Closed Principle</li>
<li>Single-Choice Principle</li>
</ul>
<p>Source: [<i>Wirs-Brock, McKean, "Object Design", Pearson Education, 2003</i>]</p>
<ul>
<li>Design for flexibility and Extension (abstraction, classification, composition, inheritance and parametrization)</li>
<li>Design for reliability  (consistent exception-handling policies)</li>
<li>Predictable, Consistent and Comprehensible design (there is no recipe here)</li>
</ul>
<p>Source: [<i>Martin Fowler, Kent Beck, John Brant, Refactoring: improving the design of existing code, Addison-Wesley, 1999</i>]</p>
<p><i>In this book the idea of code smell was introduced.  Code smells can be figure out as guidelines when you design software</i></p>
<ul>
<li>Duplicated Code</li>
<li>Long Method</li>
<li>Large Class</li>
<li>Long Parameter List</li>
<li>Divergent Change</li>
<li>Shotgun Surgery</li>
<li>Data Clumps</li>
<li>Primitive Obsession</li>
<li>Switch Statement</li>
<li>Parallel Inheritance Hierarchy</li>
<li>Lazy Class</li>
<li>Eliminate unuseful classes</li>
<li>Speculative Generality</li>
<li>Temporary Field</li>
<li>Message Chains</li>
<li>Middle Man</li>
<li>Inappropriate Intimacy</li>
<li>Alternative Classes with different interfaces</li>
<li>Incomplete Library Class</li>
<li>Data Class</li>
<li>Refused Bequest</li>
<li>Comments</li>
</ul>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=33&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/02/12/software-design-principles-mined-from-books-and-papers/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
		<item>
		<title>Why software patterns are important</title>
		<link>http://rearchitect.wordpress.com/2006/01/31/why-software-patterns-are-important/</link>
		<comments>http://rearchitect.wordpress.com/2006/01/31/why-software-patterns-are-important/#comments</comments>
		<pubDate>Tue, 31 Jan 2006 13:06:14 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[object oriented]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[Ph.D]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://rearchitect.wordpress.com/2006/01/31/why-software-patterns-are-important/</guid>
		<description><![CDATA[There is a sounding question that I started investigating many years ago. The question is: &#8220;How to design software?&#8220;. The hard side of this question is that software design and in general software development is fundamentally hard. As Fred Brooks suggests in his book is: &#8220;Complexity of software is an essential property, not an accidental [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=26&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There is a sounding question that I started investigating many years ago. The question is: &#8220;<em>How to design software?</em>&#8220;. The hard side of this question is that software design and in general software development is fundamentally hard.</p>
<p>As <a target="_blank" href="http://www.cs.unc.edu/~brooks/">Fred Brooks</a> suggests in his <a onclick="return mugicPopWin(this,event);" oncontextmenu="mugicRightClick(this);" target="_blank" href="http://www.amazon.com/gp/product/0201835959/sr=1-1/qid=1138706605/ref=pd_bbs_1/104-1523798-5429544?%5Fencoding=UTF8">book</a> is: &#8220;<em>Complexity of software is an essential property, not an accidental one</em>&#8220;. In other words software development is about managing complexity and the goal of a team is to build the illusion of simplicity.</p>
<p>I agree with <a href="http://en.wikipedia.org/wiki/Grady_Booch">Grady Booch</a> when he writes in his <a href="http://www.booch.com/architecture/blog/artifacts/Limits.doc">paper</a> that the <em>&#8220;difficulty of design lies in disclosing which design and architectural decisions should be used to best  balance the technical, economical, business, political and emotional that swirl around every software intensive system&#8221;</em>.</p>
<p>To put in other terms as Booch continues: &#8220;<em>the problem of design is NP-complete</em>&#8220;.  An optimal solution that balances forces exists but it is not computable. &#8220;<em>So we have to accept a compromise and selecting then a good enough solution for our design problem</em>&#8220;.</p>
<p>In aid of software architects that have to select the right decisions come software design principles. As dictionary says, a principle is a a &#8220;<em>comprehensive and fundamental law, doctrine, or assumption</em>&#8220;. Some of these  design principles are quite generic and abstract that  rarely  help concretely a developer during the process of software design. Some of these design principles are sometimes called &#8220;heuristics&#8221; which as you can argue means &#8220;problem-solving by experimental and especially trial-and-error methods&#8221;.</p>
<p>There are a lot of design principles documented in books and in websites. They are important for the designer but they aren&#8217;t decisive. So I think that I can write following equation:</p>
<p align="center"><strong>good_architect = Desing_Principles + Experience</strong></p>
<p>Experience is the decisive factor in software development. Experience not only deals with technical stuffs but it relates with people (management , team, customer), with economic forces (market goals and pressure). To get experience you have to work on a wide kind of projects, with the right team, with the right technologies. I hope you can do this in your working life. Alas this is not particulary true for most of our careers.</p>
<p>To achieve experience, at least, on the technical side there is an important tool in the architect&#8217;s toolchest. The concept of<a href="http://en.wikipedia.org/wiki/Software_pattern"> Software Pattern</a>. In general term Patterns can help by trying to identify common solutions to recurring problems. The interesting thing of pattern is that they are captured by <strong>experience</strong>. They aren&#8217;t designed upfront in a speculative way. They emerge from the field, from real software that works, from real teams.</p>
<p>When we speak about pattern we think at the seminal work of <a onclick="return mugicPopWin(this,event);" oncontextmenu="mugicRightClick(this);" href="http://www.amazon.com/gp/product/0201633612/sr=1-1/qid=1138707243/ref=pd_bbs_1/104-1523798-5429544?%5Fencoding=UTF8">Gang of Four</a>. That&#8217;s correct but there exists a larger ecosystems of software patterns that can help designers in their daily work. I tried writing a catalog of patterns in literature. The same has done Grady Booch in his <a href="http://www.booch.com/architecture/patterns.jsp">Handbook</a> of software architecture.</p>
<p>(pattern catalog &#8211; click on image)</p>
<table border="1">
<tr>
<td><a href="http://rearchitect.files.wordpress.com/2006/01/taxonomy.png"><img alt="note_summatechnologies.png" src="http://rearchitect.files.wordpress.com/2006/01/taxonomy_t.png?w=700" /></a></td>
</tr>
</table>
<p><em>Pattern reading</em> is an important activity for every software architect which hasn&#8217;t a valuable experience. I think that pattern studying is an important activity in any computer science curricula. Students can learn a lot about software design and architecture without waiting to <em>hurt in the war&#8217;s field </em>of a software development job.<em><br />
</em></p>
<p>In the last few years a lot of software intensive systems have been developed and put in production. Most of them was based on <em>opensource </em>projects. There is a lot of code hidden in opensource projects that claims to teach us design solutions, architectural patterns, idioms or naïve application of existing patterns and a set of principles and practices.</p>
<p>For my <strong>Ph.D</strong> thesis I don&#8217;t want to study theoretical and speculative academic stuffs. Inspired by the great and motivating work of Grady Booch with his <a href="http://www.booch.com/architecture/index.jsp">handbook of software architecture</a>, I am going to start a study of design solutions applied in several and concrete opensource projects with the goal of recovering architecture and mining new patterns or combination of existing ones.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=26&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/01/31/why-software-patterns-are-important/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>

		<media:content url="http://rearchitect.files.wordpress.com/2006/01/taxonomy_t.png" medium="image">
			<media:title type="html">note_summatechnologies.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Recording streams with mplayer (real audio, asf, &#8230;)</title>
		<link>http://rearchitect.wordpress.com/2006/01/19/recording-real-audio-streams-with-mplayer/</link>
		<comments>http://rearchitect.wordpress.com/2006/01/19/recording-real-audio-streams-with-mplayer/#comments</comments>
		<pubDate>Thu, 19 Jan 2006 14:08:00 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[audio]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://rearchitect.wordpress.com/2006/01/19/recording-real-audio-streams-with-mplayer/</guid>
		<description><![CDATA[Problem: I have a Gentoo server always on and I want to record real audio streams daily, encoding them in mp3 to listen later in my ipod. Solution: mplayer, lame, shell script and cron 1) I wrote a script called record.sh that get an output filename and an url representing the stream to record #!/bin/sh [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=24&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Problem</strong>: I have a Gentoo server always on and I want to record <strong>real</strong> audio streams daily, encoding them in mp3 to listen later in my ipod.</p>
<p><strong>Solution</strong>: <strong>mplayer</strong>, lame, shell script and cron</p>
<p>1) I wrote a script called <em>record.sh</em> that get an output filename and an url representing the stream to record</p>
<pre><em>#!/bin/sh
# Usage:
#     record.sh </em><em></em><em>&lt;file</em><em></em><em>&gt; </em><em></em><em>&lt;url_to_record</em><em></em><em>&gt;</em><em>
mplayer -quiet -cache 32 -vc dummy -vo null -ao pcm:file=$1.wav $2 &gt; /dev/null
lame --quiet --preset radio $1.wav $1.mp3
rm $1.wav &gt; /dev/null</em></pre>
<p>2) I wrote a script that grabs my favourite program. Call it for example <em>grab_xyz.sh</em></p>
<pre><em>#!/bin/sh
RECORD=/home/pc/bin/record.sh
filename=/data/shared/P2PDownload/toListen/$(date +%y%m%d)_xyz
$RECORD $filename rtsp://url/xyz.rm</em></pre>
<p>3) Finally I edited a cron job (cfr: <em>crontab -e</em>)</p>
<pre><em># Record 'XYZ from Live Stream' (from 13.30 to 14.30)
30 13 * * *     $HOME/bin/grab_xyz.sh
30 14 * * *     /bin/killall mplayer</em></pre>
<p>4) At end I’ll find (in <em>toListen </em>directory)</p>
<pre><em>060118_xyz.mp3
060117_xyz.mp3
060116_xyz.mp3
..................</em></pre>
<p>Ok it’s a small and simple hack but it works and it avoids to buy dedicated shareware.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=24&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/01/19/recording-real-audio-streams-with-mplayer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
		<item>
		<title>Pattern Mining existing JINI/JXTA/P2P systems &#8230;</title>
		<link>http://rearchitect.wordpress.com/2006/01/16/pattern-mining-existing-jinijxtap2p-systems/</link>
		<comments>http://rearchitect.wordpress.com/2006/01/16/pattern-mining-existing-jinijxtap2p-systems/#comments</comments>
		<pubDate>Mon, 16 Jan 2006 16:02:51 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[object oriented]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[Ph.D]]></category>

		<guid isPermaLink="false">http://rearchitect.wordpress.com/2006/01/16/pattern-mining-existing-jinijxtap2p-systems/</guid>
		<description><![CDATA[As part of my Ph.D project I am starting to collect systems to study their software architecture and design in search of software pattern (at all levels: architectural, design, programming) or novel combination of existing and known patterns. I&#8217;ll post more about this Ph.D topic later. I am planning to analyze systems built with recent [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=23&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As part of my Ph.D project I am starting to collect systems to study their software architecture and design in search of software pattern (at all levels: architectural, design, programming) or novel combination of existing and known patterns. I&#8217;ll post more about this Ph.D topic later.</p>
<p>I am planning to analyze systems built with recent and exciting technologies such as <a href="http://www.jini.org">Jini</a>, <a href="http://www.jxta.org">JXTA</a> and <a href="http://en.wikipedia.org/wiki/Peer_to_peer">Peer to peer</a> in a broad sense. I am in search of opensource systems to study. Alas most of the works with these niche technologies are commercial systems and so it is difficult to analyze and study source code and the related architecture.</p>
<p>So if you know any opensource system related to this field which is <strong>worth of study</strong>, please drop me a <a href="mailto:pc@pierocampanelli.info">mail</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=23&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/01/16/pattern-mining-existing-jinijxtap2p-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
		<item>
		<title>Multiple Desktops and Ubiquitous Data</title>
		<link>http://rearchitect.wordpress.com/2006/01/07/multiple-desktops-and-ubiquitous-data/</link>
		<comments>http://rearchitect.wordpress.com/2006/01/07/multiple-desktops-and-ubiquitous-data/#comments</comments>
		<pubDate>Sat, 07 Jan 2006 07:59:52 +0000</pubDate>
		<dc:creator>rearchitect</dc:creator>
				<category><![CDATA[experience]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://rearchitect.wordpress.com/2006/01/07/multiple-desktops-and-ubiquitous-data/</guid>
		<description><![CDATA[One of the most interesting things about working with computers is the ability to work on the same data in different locations (home, office, train, hotel) and environments (Windows, OSX, Linux). It is not so easy to address these requirements easily as the case of working on a single machine with all data and services [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=19&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>One of the most interesting things about working with computers is the ability to work on the same data in different locations (home, office, train, hotel) and environments (Windows, OSX, Linux). It is not so easy to address these requirements easily as the case of working on a single machine with all data and services centralized. I use a lot of machines during a week: Apple G5 Desktop, Powerbook Laptop and a Windows XP Laptop (at office). I can swap regularly between these systems finding always my environment and my data.</p>
<p>I solved synchronization issues using a Home Linux Server and Internet. Server acts  as data centralizer and collector for all these systems. I started also experimenting <a href="http://en.wikipedia.org/wiki/Web2.0">Web2.0</a> services which can solve easily annoying problems.</p>
<p>My Home Server is equipped with a <a href="http://rearchitect.wordpress.com/wp-admin/www.gentoo.org">Gentoo</a> Linux distribution and it performs usual services: file &amp; print server, vnc, subversion and ssh. Synchronization of data files is done using <a href="http://www.cis.upenn.edu/~bcpierce/unison/">Unison</a> file synchronizer which allows replicas of a collection of files and directories to be stored on different hosts, modified separately, and then brought up to date by propagating the changes in each replica to the other. Unison is truly multiplatform: I can easily synch linux, windows and osx without problems. It works very well in low bandwidth condition too.</p>
<p>Programming projects and source code instead are synchronized with the popular version control tool called <a href="http://subversion.tigris.org/">Subversion</a>. Any time I switch machines I synch my data (or commit in the case of subversion) and do another synch (or an update in the case of subversion) on my new machine. Everything keeps nicely synced, and I get full version control too.</p>
<p>Unison and subversion are good for documents and source files. Other kinds of data need to keep synchronized and previous tools are not enough. So here is a summary of my strategies for treating all ubiquitous data:</p>
<p><strong>Documents</strong>: Unison<br />
<strong>Projects and sourcecode</strong>: Subversion<br />
<strong>Mail</strong>: IMAP Server (I purchased a <a href="http://www.fastmail.fm">Fastmail.fm</a> account which is very good)<br />
<strong>Bookmark</strong>: <a href="http://del.icio.us">Delicious</a><br />
<strong>RSS</strong>: <a href="http://www.bloglines.com">Bloglines</a><br />
<strong>Memos</strong>: <a href="http://www.writely.com">Writely</a><br />
<strong>Addressbook</strong>: Palm PDA (not synch&#8217;ed)<br />
<strong>Calendar</strong>: Palm PDA (not synch&#8217;ed)</p>
<p>I know it&#8217;s not perfect and from some point of view it can be hard to understand. But I think that benefits of working regularly with different environments are grater.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/rearchitect.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/rearchitect.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rearchitect.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rearchitect.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rearchitect.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rearchitect.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rearchitect.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rearchitect.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rearchitect.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rearchitect.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rearchitect.wordpress.com&amp;blog=55018&amp;post=19&amp;subd=rearchitect&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rearchitect.wordpress.com/2006/01/07/multiple-desktops-and-ubiquitous-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e2ee170f9717c3e5183f65c2574c56ba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rearchitect</media:title>
		</media:content>
	</item>
	</channel>
</rss>
