<?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/"
	>

<channel>
	<title>Miguel Miranda de Mattos - Software development blog</title>
	<atom:link href="http://mmmattos.net/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://mmmattos.net/wordpress</link>
	<description>A blog about software development and related matters.</description>
	<lastBuildDate>Sun, 23 May 2010 05:50:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='mmmattos.net' port='80' path='/wordpress/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Debugging GTK critical warnings</title>
		<link>http://mmmattos.net/wordpress/?p=279</link>
		<comments>http://mmmattos.net/wordpress/?p=279#comments</comments>
		<pubDate>Sun, 23 May 2010 05:44:25 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=279">mmmattos</span></dc:creator>
				<category><![CDATA[programming languages]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=279</guid>
		<description><![CDATA[Debugging GTK+ based applications can be tricky when GTK throws warnings and critical messages during execution. To be able to catch those warnings, at the level of your own code, you need to run the application with the option &#8211;g-fatal-warnings in the debugger. For instance: # gdb yourapp (gdb)  run &#8211;g-fatal-warnings That´s it the app [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(2,'http://mmmattos.net/wordpress/?p=279')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_2"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D279"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D279&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Debugging GTK+ based applications can be tricky when GTK throws warnings and critical messages during execution.</p>
<p>To be able to catch those warnings, at the level of your own code, you need to run the application with the option <a title="Debugging GTK+ applications" href="http://library.gnome.org/devel/gtk/2.21/gtk-running.html" target="_blank"><em>&#8211;g-fatal-warnings</em></a> in the debugger.</p>
<p>For instance:</p>
<blockquote><p># gdb yourapp</p>
<p>(gdb)  run &#8211;g-fatal-warnings</p></blockquote>
<p>That´s it the app will stop at the first GTK warning where you´ll be able to verify the stacktrace and discover what caused it.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=279</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Increasing number of connected sites under Google Buzz (#yam #in #googlebuzz )</title>
		<link>http://mmmattos.net/wordpress/?p=271</link>
		<comments>http://mmmattos.net/wordpress/?p=271#comments</comments>
		<pubDate>Fri, 26 Feb 2010 02:54:32 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=271">mmmattos</span></dc:creator>
				<category><![CDATA[social networks]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[google buzz]]></category>
		<category><![CDATA[xfn]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=271</guid>
		<description><![CDATA[If you follow trends on social networking, you probably already joined Google Buzz. To get more sites of your own (profiles, etc) connected with Buzz, Google relies on the After following the instructions provided by @Brad Frtzpatrick on his Buzz, I finally succeeded in getting some (not all yet) more of my online profiles connected [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(4,'http://mmmattos.net/wordpress/?p=271')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_4"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D271"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D271&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>If you follow trends on social networking, you probably already joined Google Buzz.</p>
<p>To get more sites of your own (profiles, etc) connected with Buzz, Google relies on the</p>
<p>After following the instructions provided by @<a id="aptureLink_I2QWvQ33ST" href="http://www.google.com/profiles/bradfitz#buzz">Brad Frtzpatrick</a> on his Buzz, I finally succeeded in getting some (not all yet) more of my online profiles connected with Google Buzz.</p>
<p>Even after adding all of my other profiles into <a title="Google profiles - mmmattos" href="http://www.google.com/profiles/mmmattos" target="_blank">my Google profile</a>, as he suggests, you need to link back from all of those profiels back into your Google profile. That´s perhaps the harder part to get working because not all those socials sites support the XHTML rel=&#8221;me&#8221; required for the link back.</p>
<p>On my own WordPress blog, I added all those plus &lt;link rel&#8230; directives</p>
<p>The mentioned <a title="recrawl tool" href="https://sgapi-recrawl.appspot.com/" target="_blank">recrawl tool </a>didn´t work for me, even after buzz detected the new sites.<br />
Though, after all the fine tuning, now the <a title="Social Graph API - Site Connectivity" href="http://socialgraph-resources.googlecode.com/svn/trunk/samples/findyours.html" target="_blank">Social Graph API &#8211; Site Connectivity</a> tools recognizes 39 interconnected sites including my blog. That´s cool&#8230;</p>
<p>And now in Google Buzz, I got 10 connected sites as it can be seen in the following screenshot.</p>
<div id="attachment_272" class="wp-caption alignleft" style="width: 160px"><a href="http://mmmattos.net/wordpress/wp-content/uploads/2010/02/GBuzz_connected_sites.jpg"><img class="size-thumbnail wp-image-272" title="mmmattos Google Buzz connected sites" src="http://mmmattos.net/wordpress/wp-content/uploads/2010/02/GBuzz_connected_sites-150x150.jpg" alt="mmmattos Google Buzz connected sites" width="150" height="150" /></a><p class="wp-caption-text">mmmattos Google Buzz connected sites</p></div>
<p>(#yam #in #googlebuzz )</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=271</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-touch development with Silverlight and WPF 4</title>
		<link>http://mmmattos.net/wordpress/?p=265</link>
		<comments>http://mmmattos.net/wordpress/?p=265#comments</comments>
		<pubDate>Mon, 15 Feb 2010 21:47:17 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=265">mmmattos</span></dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[wpf4]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=265</guid>
		<description><![CDATA[The Natural User Interface (NUI) is the next revolution of human-computer interaction. Microsoft Surface has shown the potential of multi-touch NUIs to uniquely engage users, and multi-touch tablets and displays are becoming more and more common. This talk is focused on how you can create multi-touch NUIs for these devices. You will learn the difference [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(6,'http://mmmattos.net/wordpress/?p=265')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_6"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D265"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D265&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>The Natural User Interface (NUI) is the next revolution of human-computer interaction. Microsoft Surface has shown the potential of multi-touch NUIs to uniquely engage users, and multi-touch tablets and displays are becoming more and more common. This talk is focused on how you can create multi-touch NUIs for these devices. You will learn the difference between manipulations and gestures, when to use each, and how to implement specific NUI design concepts with both Silverlight and the WPF 4 Touch API. The differences between the <a id="aptureLink_zQBv4MW1wE" href="http://en.wikipedia.org/wiki/Microsoft%20Silverlight">Silverlight</a> and WPF 4 Touch APIs will be highlighted. You will hear about the roles of the Surface Toolkit for Windows Touch and the Microsoft Surface Manipulations and Inertia Sample for Silverlight and how you can use them to jump-start your applications. The open-source multi-touch Bing Maps 3-D WPF control, <a id="aptureLink_wAj2BLBvYJ" href="http://www.youtube.com/watch?v=hGi7nQM08l8">InfoStrat.VE</a>, will also be demonstrated. If you are interested in rich, engaging multi-touch interfaces for the web or client, then you need to attend this talk!</p>
<p>Wednesday, February 24, 2010 6:00 PM &#8211; Wednesday, February 24, 2010 8:00 PM Eastern Time (US &amp; Canada)<br />
Welcome Time: 5:30 PM<br />
To know more about the event, agenda &amp; registration, ckick <a title="Multi-touch development with Silverlight and WPF 4" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440485&amp;culture=en-US" target="_blank">here</a>!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=265</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WINNERS SPIRIT Certificate Award</title>
		<link>http://mmmattos.net/wordpress/?p=255</link>
		<comments>http://mmmattos.net/wordpress/?p=255#comments</comments>
		<pubDate>Fri, 15 Jan 2010 02:56:08 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=255">mmmattos</span></dc:creator>
				<category><![CDATA[career]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[recognition]]></category>
		<category><![CDATA[winners spirit]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=255</guid>
		<description><![CDATA[Yesterday, Jan 14th 2010, Miguel, got awarded, for his own surprise with a WINNERS SPIRIT Certificate, by HP´s Brazilian leadership team. The recognition was due to his commitment to spread the HP values in special for his contribution during Sprint 17 of the project he is currently working on. The Winners Spririt Certificate is a [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(8,'http://mmmattos.net/wordpress/?p=255')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_8"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D255"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D255&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Yesterday, Jan 14th 2010, Miguel, got awarded, for his own surprise with a <strong>WINNERS SPIRIT </strong>Certificate, by <a id="aptureLink_4rjkWmfJ4e" href="http://en.wikipedia.org/wiki/Hewlett-Packard">HP</a>´s Brazilian leadership team.</p>
<p>The recognition was due to his commitment to spread the <a id="aptureLink_qdvVZVeK8t" href="http://en.wikipedia.org/wiki/Hewlett-Packard">HP</a> values in special for his contribution during Sprint 17 of the project he is currently working on.</p>
<p>The <strong>Winners Spririt Certificate</strong> is a form of recognition used at <strong>HP</strong>, company wide,  as an informal award to recognize contribution from colleagues coworkers.</p>
<p>Miguel dedicated this award to:  His father, <a id="aptureLink_gZ2frNf4Pt" href="http://sites.google.com/site/mirandamattosfamily/home/oscar-miranda-tribute-in-memorian">Oscar Miranda</a> (<em>in memorian</em>) whose birthday would have been this same date. Miguel is thankful to his father for supporting him during his career <em>&#8220;take-off&#8221;</em>- as his father used to say.</p>
<p><img src="http://farm5.static.flickr.com/4045/4275640644_6683065f90.jpg" alt="WINNERS SPIRIT Certificate" width="500" height="375" /></p>
<p>Check above a picture taken from a colleague´s camera (thanks Tiago!) of the moment Miguel received the <strong>WINNERS SPIRIT</strong> Certificate from <strong>Gabriel Notari,</strong> Project Manager.</p>
<p>[UPDATE]<br />
Added a snapshot of the actual certificate.<br />
<a href="http://mmmattos.net/wordpress/wp-content/uploads/2010/01/winners-spirit-certificate.jpg"><img class="alignleft size-thumbnail wp-image-261" title="Winners Spirit Certificate" src="http://mmmattos.net/wordpress/wp-content/uploads/2010/01/winners-spirit-certificate-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=255</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Social Networks Feeds getting duplicate posts</title>
		<link>http://mmmattos.net/wordpress/?p=228</link>
		<comments>http://mmmattos.net/wordpress/?p=228#comments</comments>
		<pubDate>Tue, 17 Nov 2009 01:18:25 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=228">mmmattos</span></dc:creator>
				<category><![CDATA[social networks]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[mashups]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=228</guid>
		<description><![CDATA[As social networks started to gain space in the net, they began to overlap with each other, that is, user of one service are also user of other. Soon they had to understand and recognize the other social networks their users were at, too! Mashups, pipes and other kind of combinations allowed a single post [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(10,'http://mmmattos.net/wordpress/?p=228')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_10"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D228"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D228&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>As social networks started to gain space in the net, they began to overlap with each other, that is, user of one service are also user of other. Soon they had to understand and recognize the other social networks their users were at, too!</p>
<p>Mashups, pipes and other kind of combinations allowed a single post to one service to get &#8220;propagated&#8221; to the user´s registered social networks.<br />
As users start to link their social, those mashups start to spread the chaos.<br />
Let me put a simple example.<br />
One of the first social networks I joined was <a id="aptureLink_S02xpHBMGM" href="http://en.wikipedia.org/wiki/Delicious%20%28website%29">Delicious</a>.<br />
Later on came <a id="aptureLink_vQKNjw74mD" href="http://en.wikipedia.org/wiki/FaceBook">Facebook</a>, and at that time I´ve also joined <a id="aptureLink_WTrhxM68Dw" href="http://en.wikipedia.org/wiki/FriendFeed">FriendFeed</a> which allowed me to post several of my other feeds´ posts right through Facebook too.<br />
Now <a id="aptureLink_PG3bnYFvHD" href="http://en.wikipedia.org/wiki/Twitter">Twitter</a>. And now Delicious allows you to Tweet directly every bookmark you post.<br />
This is confusing, but that´s exactly as it grew up.<br />
To get a clear picture see below how my feeds for these services ended mashed-up.</p>
<div id="attachment_227" class="wp-caption alignnone" style="width: 290px"><a href="http://mmmattos.net/wordpress/wp-content/uploads/2009/11/Drawing2.jpg"><img src="http://mmmattos.net/wordpress/wp-content/uploads/2009/11/Drawing2.jpg" alt="Sample Feeds Map" title="Sample Feeds Map" width="280" height="263" class="size-full wp-image-227" /></a><p class="wp-caption-text">Sample Feeds Map</p></div>
<p>As you can see from the graph, the same delicious post gets posted twice into my Facebook stream.<br />
Feeds´post would need a unique identifier understandable by all your subscribed services (or something alike).<br />
Otherwise, since those services don´t currently have that intelligence, it is up to the user to check it´s own streams under each of his/her social networks,to identify for the duplicate posts and rearrange the services subscriptions to each other, acoordingly, for that duplication, not to occur.</p>
<div id="attachment_229" class="wp-caption alignnone" style="width: 290px"><a href="http://mmmattos.net/wordpress/wp-content/uploads/2009/11/Drawing3.JPG"><img src="http://mmmattos.net/wordpress/wp-content/uploads/2009/11/Drawing3.JPG" alt="Sample Feeds Map after fix" title="Sample Feeds Map after fix" width="280" height="263" class="size-full wp-image-229" /></a><p class="wp-caption-text">Feeds Map after fix</p></div>
<p>As a result of that re-arrangement, I had to stop publishing Delicious and my blog posts through FriendFeed. Instead, let them go through Twitter and then through FriendFeed, all the way to Facebook.<br />
That way, posts will show up only once on my Facebook stream.<br />
At least until someone (it could be myself!)  finds another solution. But this can get even worse&#8230;</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=228</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google´s GO language left out Windows target developers, for now&#8230;</title>
		<link>http://mmmattos.net/wordpress/?p=223</link>
		<comments>http://mmmattos.net/wordpress/?p=223#comments</comments>
		<pubDate>Sun, 15 Nov 2009 03:39:31 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=223">mmmattos</span></dc:creator>
				<category><![CDATA[programming languages]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[go language]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=223</guid>
		<description><![CDATA[As soon as I heard the news, I got my hands on the (now) Google´s GO language. Tried it on my linux box (not VM) running openSUSE. Installation run clean and in no time I was out building little snippets with in. Albeit some comments I read on the net, I thought &#8211; why don´t [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(12,'http://mmmattos.net/wordpress/?p=223')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_12"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D223"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D223&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>As soon as I heard the news, I got my hands on the (now) <a id="aptureLink_eydyFtLc4Z" href="http://golang.org/">Google´s GO language</a>. Tried it on my linux box (not VM) running <a id="aptureLink_EAON78D6Y2" href="http://en.wikipedia.org/wiki/OpenSUSE">openSUSE</a>.<br />
Installation run clean and in no time I was out building little snippets with in.<br />
Albeit some comments I read  on the net, I thought &#8211; why don´t I try this on the windows box. Back to the GO site, I realized there were no instructions for installing it on the MS OS.<br />
Two alternatives, I thought: <a id="aptureLink_wsMpeovR1E" href="http://www.cygwin.com">CYGWIN</a> or <a id="aptureLink_ac3nc1Y8zN" href="http://en.wikipedia.org/wiki/MinGW">MINGW</a>?<br />
Picked the first one because it was already on my windows box and where I have already built some gcc/g++ projects before.<br />
Set the environment, got the source code there&#8230;<br />
It didn´t build off the checked out version. Got some build errors which would require some por needed.<br />
On my way to the <a href="http://groups.google.com/group/golang-nuts">GO-NUTS mailing list</a>, I found there were already some threads discussing that possibilities.<br />
According to that mailing list, binaries generated by GO on windows wouldn´t run either because  Go compilers will still be generating <a id="aptureLink_lB2L26TUOc" href="http://wiki.osdev.org/ELF">ELF</a> or <a id="aptureLink_SGWMCtZHlA" href="http://en.wikipedia.org/wiki/Mach-o">Mach binaries</a>, incompatible with Windows.<br />
Anyway the  pressure made by developers for getting a Windows version of GO compiler is high so I would we´ll have news on that side real soon.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=223</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Own dark Gmail theme.</title>
		<link>http://mmmattos.net/wordpress/?p=214</link>
		<comments>http://mmmattos.net/wordpress/?p=214#comments</comments>
		<pubDate>Sat, 17 Oct 2009 01:20:21 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=214">mmmattos</span></dc:creator>
				<category><![CDATA[software tools]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[readability]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=214</guid>
		<description><![CDATA[When time allows, I am also an avid reader/updater of microblogging sites (mainly Twitter @mmmattos). Seesmic Web and Twiter Miner are my preferred online tools for tweeting online and both provide a very pleasant, easy on the eyes dark themes. Gmail, which I use as my personal email, has recently enabled canned themes, but unfortunately [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(14,'http://mmmattos.net/wordpress/?p=214')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_14"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D214"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D214&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>When time allows, I am also an avid reader/updater of microblogging sites (mainly Twitter @mmmattos).<br />
Seesmic Web and Twiter Miner are my preferred online tools for tweeting online and both provide a very pleasant, easy on the eyes dark themes.</p>
<p>Gmail, which I use as my personal email, has recently enabled canned themes, but unfortunately none as nice looking and pleasant on the eyes as I would like, so I decided (since they also enabled that alternative) to create my own Gmail theme.</p>
<p>The process is quite simple. You just need to get the hex RGB color representation for each color you would like to use. Write them down and click in the &#8220;Custom colors&#8221; theme option within the Settings/Theme configuration screen.</p>
<div id="attachment_216" class="wp-caption aligncenter" style="width: 310px"><a href="http://mmmattos.net/wordpress/wp-content/uploads/2009/10/Capture2.JPG"><img src="http://mmmattos.net/wordpress/wp-content/uploads/2009/10/Capture2-300x296.jpg" alt="Gmail themes - Custom Color Settings pop-up" title="Gmail themes - Custom Color Settings pop-up" width="300" height="296" class="size-medium wp-image-216" /></a><p class="wp-caption-text">Gmail themes - Custom Color Settings pop-up</p></div>
<p>Clicking on each of the sections in the screen shown above, will reveal a drop that allows you to select different color combinations of background, text, link and snippet colors, if available in the clicked section.</p>
<p>Playing around with those setting I came to the combination presented to you, next, which is closer to the pleasant, easy on the eyes dark colored themes I´ve found in other tools´ themes.</p>
<p>The downside with Gmail themes is that you cannot save your custom themes. So if by mistake you switch to other theme, you´ll nees to remember and re-apply your custom settings to get it back.</p>
<p>No more delays, here is my custom theme.</p>
<div id="attachment_217" class="wp-caption aligncenter" style="width: 310px"><a href="http://mmmattos.net/wordpress/wp-content/uploads/2009/10/Capture1.JPG"><img src="http://mmmattos.net/wordpress/wp-content/uploads/2009/10/Capture1-300x162.jpg" alt="My dark colors Gmail theme" title="My dark colors Gmail theme" width="300" height="162" class="size-medium wp-image-217" /></a><p class="wp-caption-text">My dark colors Gmail theme</p></div>
<p>If you liked it, drop a comment. In a next post I´ll share the color RGB codes for that setup.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=214</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CPPUnit step by step example.</title>
		<link>http://mmmattos.net/wordpress/?p=183</link>
		<comments>http://mmmattos.net/wordpress/?p=183#comments</comments>
		<pubDate>Sun, 11 Oct 2009 02:49:55 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=183">mmmattos</span></dc:creator>
				<category><![CDATA[api]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programming languages]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[cppunit]]></category>
		<category><![CDATA[unit tests]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=183</guid>
		<description><![CDATA[The idea here is to provide a basic introduction to the C++ unit testing framework, cppunit. During the last months I´ve been writing some cppunit based unit tests and I tried to show here the basic steps involved. To start with, you´ll need to install cppunit libraries and documentation. Let´s use apt-get for that purpose, [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(16,'http://mmmattos.net/wordpress/?p=183')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_16"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D183"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D183&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>The idea here is to provide a basic introduction to the C++ unit testing framework, <a id="aptureLink_vJkbHmEAcQ" href="http://sourceforge.net/projects/cppunit/">cppunit</a>.<br />
During the last months I´ve been writing some <a id="aptureLink_1zVLtVV0Sn" href="http://sourceforge.net/projects/cppunit/">cppunit</a> based unit tests and I tried to show here the basic steps involved.</p>
<p>To start with, you´ll need to install <a id="aptureLink_e8wCtcIOxm" href="http://sourceforge.net/projects/cppunit/">cppunit</a> libraries and documentation. Let´s use apt-get for that purpose, since we are running on a Debian based distro.</p>
<div class="dean_ch" style="white-space: nowrap;">$ sudo apt-get install libcppunit-dev libcppunit-doc</div>
<p><br/>To enable the unit tests in the source, we must include some specific directives in the header (.h) file.<br />
First, add a reference to the cppunit headers.</p>
<div class="dean_ch" style="white-space: nowrap;"><span class="co2">#include &lt;cppunit/extensions/HelperMacros.h&gt;</span></div>
<p><br/>Declare the class implementing cppunit ´s TestFixture base class,</p>
<div class="dean_ch" style="white-space: nowrap;"><span class="kw2">class</span> myUnitTest : <span class="kw2">public</span> CppUnit::<span class="me2">TestFixture</span></div>
<p><br/>Within the class, created above, declare the test suite and all the tests to be implemented, using the macros already defined in cppunit.</p>
<div class="dean_ch" style="white-space: nowrap;">CPPUNIT_TEST_SUITE<span class="br0">&#40;</span> myUnitTest <span class="br0">&#41;</span>;<br />
CPPUNIT_TEST<span class="br0">&#40;</span> TestFunctionalityFromYourApplication <span class="br0">&#41;</span>;<br />
CPPUNIT_TEST_SUITE_END<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
<p><br/>Between the two CPPUNIT_TEST_SUITE and CPPUNIT_TEST_SUITE_END macros, add all the tests that will be implemented.<br />
And finally, declare all the methods to be used in the tests. Add to the list cppunit setup and teardown as required by the base class,</p>
<div class="dean_ch" style="white-space: nowrap;"><span class="kw4">void</span> setUp<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="kw4">void</span> tearDown<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="kw4">void</span> TestFunctionalityFromYourApplication <span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
<p><br/>The last entry in the header file, relevant to the test itself is the test suite registration. Use for that purpose one of the macros available at cppunit. For this case:</p>
<div class="dean_ch" style="white-space: nowrap;">CPPUNIT_TEST_SUITE_REGISTRATION<span class="br0">&#40;</span>myUnitTest<span class="br0">&#41;</span>;</div>
<p><br/>This finished the required declarations in the header file.</p>
<p>Now in the main (.cpp) file we need to implement the setUp(), and the tearDown() methods. Use the setUp method to instantiate any objects required by the tests , and the tearDown method to free up those resources.</p>
<div class="dean_ch" style="white-space: nowrap;"><span class="kw4">void</span> myUnitTest::<span class="me2">setUp</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span><br />
<span class="kw4">void</span> myUnitTest::<span class="me2">tearDown</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><span class="br0">&#125;</span></div>
<p><br/>Sure, we also need to implement all the unit tests methods as declared for the test suite.<br />
I´ll illustrate this with one example.</p>
<div class="dean_ch" style="white-space: nowrap;">
<span class="kw4">void</span> myUnitTest:: <span class="me2">TestFunctionalityFromYourApplication</span> <span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; boolean specific_condition_failure = <span class="kw2">TRUE</span>;<br />
&nbsp; &nbsp; <span class="co1">//</span><br />
&nbsp; &nbsp; <span class="co1">// Implement all needed steps to finally verify if thetest was successful</span><br />
&nbsp; &nbsp; <span class="co1">// with any of the assertion methods available at cppunit.</span><br />
&nbsp; &nbsp; <span class="co1">// For instance in this example we are using CPPUNIT_FAIL to force failure</span><br />
&nbsp; &nbsp; <span class="co1">// if a specific condition was not met.</span><br />
&nbsp; &nbsp; <span class="co1">//</span><br />
&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>  specific_condittion_failure <span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; CPPUNIT_FAIL<span class="br0">&#40;</span><span class="st0">&quot;myUnitTest has Failed.<span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p><br/>Notice the CPPUNIT_FAIL assertion macro causing the test to fail in case the specific failure condition  was met.<br />
For more information on <a id="aptureLink_T8tQslWUOJ" href="http://sourceforge.net/projects/cppunit/">CPPUNIT</a>  and a complete list of the available assertion macros, look <a id="aptureLink_AqagtoksWB" href="http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga3">here</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=183</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leadership and listening.</title>
		<link>http://mmmattos.net/wordpress/?p=178</link>
		<comments>http://mmmattos.net/wordpress/?p=178#comments</comments>
		<pubDate>Mon, 05 Oct 2009 19:48:53 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=178">mmmattos</span></dc:creator>
				<category><![CDATA[career]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[leadership skills]]></category>
		<category><![CDATA[skills]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=178</guid>
		<description><![CDATA[Talking about leadership: Listening skills may not be in the main list of requirements for a leader profile, but certainly, listening to peers´ suggestions in a pragmatic way, will add up for: a better collaboration environment, improved communication between team members (both horizontally and vertically), and provide more visibility to the leader herself. Cheers!]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(18,'http://mmmattos.net/wordpress/?p=178')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_18"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D178"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D178&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Talking about leadership:</p>
<p>Listening skills may not be in the main list of requirements for a leader profile, but certainly, listening to peers´ suggestions in a pragmatic way, will add up for:</p>
<ul>
<li> a better collaboration environment,</li>
<li>improved communication between team members (both horizontally and vertically), and</li>
<li>provide more visibility to the leader herself.</li>
</ul>
<p>Cheers!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=178</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vim tip &#8211; Mouse wheel in a terminal window</title>
		<link>http://mmmattos.net/wordpress/?p=174</link>
		<comments>http://mmmattos.net/wordpress/?p=174#comments</comments>
		<pubDate>Fri, 18 Sep 2009 13:00:45 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://mmmattos.net/wordpress/?p=174">mmmattos</span></dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[software tools]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://mmmattos.net/wordpress/?p=174</guid>
		<description><![CDATA[Hi, Running  vim under putty or other terminal window, if you accidentally roll the mouse-wheel will cause the actual terminal buffer to be scrolled. This can be overridden by setting: :set mouse=a Which will make VIM mouse sensitive even if run within a terminal window. Rolling the mouse-wheel will make the actual Vim buffer to [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.ispeech.org/images/listen.gif" alt="Listen to this Post. Powered by iSpeech.org" title="Listen to this Post. Powered by iSpeech.org" height="18" width="77" style="cursor:pointer" onclick="showPlayer(20,'http://mmmattos.net/wordpress/?p=174')" /><br/>
<iframe style="width:0px;height:0px;border:none;overflow:hidden" frameborder="0" id="ispeech_iframe_20"></iframe><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D174"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmmmattos.net%2Fwordpress%2F%3Fp%3D174&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Hi,</p>
<p>Running  <a title="Vim" href="http://www.vim.org" target="_blank">vim</a> under <a title="Putty" href="http://en.wikipedia.org/wiki/PuTTY" target="_blank">putty</a> or other terminal window, if you accidentally roll the mouse-wheel will cause the actual terminal buffer to be scrolled.<br />
This can be overridden by setting:</p>
<p><em>:set mouse=a</em></p>
<p>Which will make VIM mouse sensitive even if run within a terminal window.<br />
Rolling the mouse-wheel will make the actual Vim buffer to scroll.;)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://mmmattos.net/wordpress/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://mmmattos.net/wordpress/?feed=rss2&amp;p=174</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
