<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns: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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Pedro Pimentel</title>
	
	<link>http://www.pedropimentel.com</link>
	<description>Ruby on Rails Evangelist</description>
	<lastBuildDate>Wed, 16 Dec 2009 22:23:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PedroPimentel" /><feedburner:info uri="pedropimentel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/PedroPimentel" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FPedroPimentel" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item>
		<title>Method dispatch in Ruby</title>
		<link>http://feedproxy.google.com/~r/PedroPimentel/~3/RJEhjQaSLM0/</link>
		<comments>http://www.pedropimentel.com/2009/12/15/method-dispatch-in-ruby/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 20:38:11 +0000</pubDate>
		<dc:creator>Pedro Pimentel</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[dispatcher]]></category>
		<category><![CDATA[interpreter]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[mri]]></category>

		<guid isPermaLink="false">http://www.pedropimentel.com/?p=194</guid>
		<description><![CDATA[
Some days ago I was asked how the dispatcher works in ruby and I was caught in surprise I didn&#8217;t know how to explain the method dispatching in the language we love (Ruby). That question was kept still in my mind for a few days but while listening to some workmates discussing about singleton classes [...]


Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/10/01/how_to_run_just_one_test_from_your_terminal/' rel='bookmark' title='Permanent Link: How to Run Just one Test Method from your Terminal'>How to Run Just one Test Method from your Terminal</a></li>
<li><a href='http://www.pedropimentel.com/2008/07/28/writing-optioned-software/' rel='bookmark' title='Permanent Link: Writing Opinionated Software'>Writing Opinionated Software</a></li>
<li><a href='http://www.pedropimentel.com/2008/06/09/rails-21-whats-new/' rel='bookmark' title='Permanent Link: RELEASED &#8211; &#8220;Rails 2.1 &#8211; What`s new ?&#8221; Book'>RELEASED &#8211; &#8220;Rails 2.1 &#8211; What`s new ?&#8221; Book</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.pedropimentel.com/wp-content/uploads/2009/12/pomegranate.jpg"><img class="size-medium wp-image-195 aligncenter" title="pomegranate" src="http://www.pedropimentel.com/wp-content/uploads/2009/12/pomegranate-311x450.jpg" alt="pomegranate" width="311" height="450" /></a></p>
<p>Some days ago I was asked how the dispatcher works in ruby and I was caught in surprise I didn&#8217;t know how to explain the method dispatching in the language we love (Ruby). That question was kept still in my mind for a few days but while listening to some workmates discussing about singleton classes in ruby the answer came to my mind in a blink of eyes reminding me from a university class which I had a long time ago about how method dispatching works in dynamic languages like Ruby.</p>
<p>So with that information in mind and some googling to confirm it I came out with a simple explanation of how the dispatching works in Ruby and decided it&#8217;s worth sharing you.</p>
<p>Essentially for each method call in ruby, the language interpreter checks in the inheritance hierarchy of the classes of the receiver (in our case &#8220;<em>my_string</em>&#8220;) to determine which method should be executed.</p>
<p>An example:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">  my_string = <span style="color:#CC00FF; font-weight:bold;">Hash</span>.<span style="color:#9900CC;">new</span> <span style="color:#008000; font-style:italic;"># =&gt; {}</span>
  my_string.<span style="color:#9900CC;">size</span>  <span style="color:#008000; font-style:italic;"># =&gt; 0</span></pre></div></div>

<p>The code above is pretty simple but what&#8217;s important is happening beneath of it. The language interpreter is assigning the variable “<em>my_string</em>” with an instance of the Hash class then it&#8217;s calling the method “<em>size</em>”.</p>
<p>The Hash class is where our interpreter will start searching for the “<em>size</em>” method, if the interpreter doesn&#8217;t find the method in the Hash class, it&#8217;ll continue to search in the Hash parent class, which in our case (Ruby) is the topmost class . It can be the case the interpreter don&#8217;t find  the method “<em>size</em>”, so it&#8217;ll throw a “<em>method missing</em>” exception. In our example, the Hash class contains the “<em>size</em>” method and successfully returns.</p>
<p>If you want to know how MRI&#8217;s (Matz&#8217;s Ruby Interpreter) implements method dispatch, I recommend you to take a look in<a title="Patrick Farley" href="http://www.klankboomklang.com/2007/09/14/method-dispatch/" target="_blank"> this blog post by Patrick Farley</a>, where he explains the Ruby source code responsible for handling method dispatch.</p>
<p>For even further information on this matter there is this huge and excelent <a title="Russ Olsen" href="http://www.jroller.com/rolsen/entry/ruby_spin_up_where_did" target="_blank">post from Russ Olsen</a>, author of the book Design Patterns in Ruby.</p>


<p>Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/10/01/how_to_run_just_one_test_from_your_terminal/' rel='bookmark' title='Permanent Link: How to Run Just one Test Method from your Terminal'>How to Run Just one Test Method from your Terminal</a></li>
<li><a href='http://www.pedropimentel.com/2008/07/28/writing-optioned-software/' rel='bookmark' title='Permanent Link: Writing Opinionated Software'>Writing Opinionated Software</a></li>
<li><a href='http://www.pedropimentel.com/2008/06/09/rails-21-whats-new/' rel='bookmark' title='Permanent Link: RELEASED &#8211; &#8220;Rails 2.1 &#8211; What`s new ?&#8221; Book'>RELEASED &#8211; &#8220;Rails 2.1 &#8211; What`s new ?&#8221; Book</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/PedroPimentel/~4/RJEhjQaSLM0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.pedropimentel.com/2009/12/15/method-dispatch-in-ruby/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.pedropimentel.com/2009/12/15/method-dispatch-in-ruby/</feedburner:origLink></item>
		<item>
		<title>Why my f***ing awesome web app doesn’ t move forward ?</title>
		<link>http://feedproxy.google.com/~r/PedroPimentel/~3/madYvYzkNBg/</link>
		<comments>http://www.pedropimentel.com/2009/06/16/why-my-fing-awesome-web-app-doesn-t-move-forward/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 19:01:22 +0000</pubDate>
		<dc:creator>Pedro Pimentel</dc:creator>
				<category><![CDATA[Business Admin]]></category>
		<category><![CDATA[hints]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[social applications]]></category>
		<category><![CDATA[social apps]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[user focused applications]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.pedropimentel.com/?p=172</guid>
		<description><![CDATA[
What prevents an application, like  Twitter,  of acquiring more and more users besides the geek users? Even within my circle of friends and acquaintances that work/study with IT, when I talk about I&#8217; m a Twitter user, I need to repeat uncountable times what Twitter is about  and I usually explain to them according [...]


Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/05/12/criei-um-software-revolucionario-e-agora/' rel='bookmark' title='Permanent Link: Por que meu software revolucionário não deslancha?'>Por que meu software revolucionário não deslancha?</a></li>
<li><a href='http://www.pedropimentel.com/2008/04/17/fisl-90-primeiro-dia/' rel='bookmark' title='Permanent Link: FISL 9.0 &#8211; First day'>FISL 9.0 &#8211; First day</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone" title="Designing for the social web" src="http://farm4.static.flickr.com/3588/3394810309_19db8a7dbb.jpg" alt="" width="500" height="333" /></p>
<p>What prevents an application, like  <a title="Twitter" href="http://www.twitter.com">Twitter</a>,  of acquiring more and more users besides the geek users? Even within my circle of friends and acquaintances that work/study with IT, when I talk about I&#8217; m a Twitter user, I need to repeat uncountable times what Twitter is about  and I usually explain to them according to what twitter advertise as their goal (Not a micro blogging tool, What are you doing?). In 90% of the cases, they say they heard about it but don&#8217;t know what´s its purpose, in other words, they don´t know how they could use twitter for their benefit. &#8221;<em>Why would I tell ´followers´ what I am doing </em>?¨ is the most asked question after  my explanation.  It means Twitter´s initial goal failed to instigate the user to create a new need, but why ?</p>
<p><span id="more-172"></span></p>
<p style="text-align: center; "><img class="aligncenter" title="graph" src="http://upload.wikimedia.org/wikipedia/en/4/45/DiffusionOfInnovation.png" alt="" width="548" height="194" /></p>
<p>As seen in the graph, there´s  a steep  that divides <em>Early adopte</em>r users from the <em>mainstream</em> users. I believe that this gap,  which is always  the final &#8220;test&#8221; to any application to become popular, is becoming even steeper between  the <em>Early Adopter</em> user (the ones who adopt new technologies before the vast majority of people) and the <em>mainstream</em> user due the fact  most of the services around the web, like twitter,  being targeted (mostly due to bad advertisement) to <em>Early Adopters</em> users. Like I said before, it happens that for <em>mainstream</em> users the reason for what they would use something needs to be clearly written in giant letters with neon lights otherwise they won´t buy  your idea by just &#8220;giving a try&#8221;.</p>
<p>I myself, being an <em>early adopter</em> user, believe we are living in some kind of technological bubble and even though we see so many applications doing success around there, most of them are not even close of what they could reach because they are kept restricted to the <em>geek</em> world. There&#8217;s a lot of things that could be achieved. In my opinion, before saturating the market with thousands of applications that  deliver the same product in different designs, we could stop being so selfish and besides developing applications we should care about how we are going to sell our idea and how to create the need inside the user´s mind.</p>
<p>However, create focusing the real need of the final user isn&#8217; t a easy task. We, developers, having the bad habit of programming to ourselves, solving our own problems and satisfying our selfish needs doesn´t help much either. Because of that, we live in this technological bubble where we create services/products to impress our friends with all our freak techniques and for what ? Just to be to be used by ourselves. But how to break the bubble ? How to identify the needs of the <em>mainstream</em> users ? It&#8217;s really hard to give final answers to these questions, however, I believe the solution is start paying attention to our non-geek friends (if you don´t have non-geek friends, can be your mom)  in their day-to-day and trying to assume the <em>mainstream</em> user&#8217;s role. </p>
<p>Users don´t like to take risk. They are very different from people like me and probably you. They don´t care about 99% of the things we care about,  so pay attention to the people around you, notice how they interact with the computer as well their reactions behind it. One user screwing his face in front of the computer can be the best time to ask him to find out what&#8217; s wrong and how he think it might be possible to improve.</p>


<p>Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/05/12/criei-um-software-revolucionario-e-agora/' rel='bookmark' title='Permanent Link: Por que meu software revolucionário não deslancha?'>Por que meu software revolucionário não deslancha?</a></li>
<li><a href='http://www.pedropimentel.com/2008/04/17/fisl-90-primeiro-dia/' rel='bookmark' title='Permanent Link: FISL 9.0 &#8211; First day'>FISL 9.0 &#8211; First day</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/PedroPimentel/~4/madYvYzkNBg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.pedropimentel.com/2009/06/16/why-my-fing-awesome-web-app-doesn-t-move-forward/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.pedropimentel.com/2009/06/16/why-my-fing-awesome-web-app-doesn-t-move-forward/</feedburner:origLink></item>
		<item>
		<title>A recipe for Lazy Programmers</title>
		<link>http://feedproxy.google.com/~r/PedroPimentel/~3/iBPROc1Xnso/</link>
		<comments>http://www.pedropimentel.com/2009/06/14/a-recipe-for-lazy-programmers/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 15:07:23 +0000</pubDate>
		<dc:creator>Pedro Pimentel</dc:creator>
				<category><![CDATA[hints]]></category>
		<category><![CDATA[laziness]]></category>
		<category><![CDATA[lazy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[salad recipe]]></category>

		<guid isPermaLink="false">http://www.pedropimentel.com/?p=141</guid>
		<description><![CDATA[
Fact: programmers are one of the laziest creatures on earth and when it comes to ruby programmers, like me, the problem is even worse. We don´t like to spend more than 5 minutes cooking something while we could be doing something more important like chatting with your friends on freenode.

After spending more time than I [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Lazy geek" src="http://www.seandwyer.net/wp-content/uploads/2008/08/lazygeekcushion.jpg" alt="" width="400" height="254" /></p>
<p>Fact: programmers are one of the laziest creatures on earth and when it comes to ruby programmers, like me, the problem is even worse. We don´t like to spend more than 5 minutes cooking something while we could be doing something more important like chatting with your friends on freenode.</p>
<p><span id="more-141"></span><br />
After spending more time than I wanted in the kitchen, I came with this recipe that is easily modifiable and IMHO it´s delicious and nutritive. So, here´s what you need:</p>
<ul>
<li>olives, I´m using french style olives, but you can use any other one</li>
<li>balsamic vinegar, preferably an original one from Modena, Italy</li>
<li>a good quality extra virgin olive oil</li>
<li>honey</li>
<li>cheese, you can choose, but I strongly recommend using goat cheese, camembert or brie</li>
<li>cherry tomatoes</li>
<li>vegetables, I´m using lettuce and its variants, but  you can put any other vegetable you like</li>
</ul>
<p>First, start slicing the vegetables in way you can eat without cutting them.</p>
<p><img class="aligncenter size-medium wp-image-150" title="p1030249" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030249-450x337.jpg" alt="p1030249" width="450" height="337" /></p>
<p>Then pour honey over the vegetables like drawing lines. Be careful not to add too much honey otherwise will be more a dessert rather than a salad.</p>
<p><img class="aligncenter size-medium wp-image-151" title="p1030251" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030251-450x337.jpg" alt="p1030251" width="450" height="337" /></p>
<p>Cut the cheese in cubes and add it over the salad. As I´m using goat cheese which is a little bit too strong for my taste, I added less cheese and due to its form factor, I´m using slices of it</p>
<p><img class="aligncenter size-medium wp-image-152" title="p1030252" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030252-450x337.jpg" alt="p1030252" width="450" height="337" /></p>
<p>Now you add about 1.5 level tablespoons (15ml) of balsamic vinegar over the salad.</p>
<p><img class="aligncenter size-medium wp-image-153" title="p1030253" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030253-450x337.jpg" alt="p1030253" width="450" height="337" /></p>
<p>The lasts steps are no mistery: you add olives, cherry tomatoes, dress the salad with the extra virgin olive oil and that´s pretty much of it.</p>
<p><img class="aligncenter size-medium wp-image-154" title="p1030254" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030254-450x337.jpg" alt="p1030254" width="450" height="337" /></p>
<p>Now the best part: you can try your very new salad ! <strong><em>B</em></strong><em><strong>on Appétit</strong></em></p>
<p>Just in case you´re wondering about which olive oil and balsamic vinegar I used, here are them:</p>
<p><img class="aligncenter size-thumbnail wp-image-155" title="Extra virgin olive oil" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030241-150x150.jpg" alt="Extra virgin olive oil" width="150" height="150" /><br />
Venta Barón, from Spain<br />
<img class="aligncenter size-thumbnail wp-image-142" title="Balsamic vinegar" src="http://www.pedropimentel.com/wp-content/uploads/2009/06/p1030240-150x150.jpg" alt="Balsamic vinegar" width="150" height="150" /><br />
Ponti, from Italy</p>


<p>No related posts.</p><img src="http://feeds.feedburner.com/~r/PedroPimentel/~4/iBPROc1Xnso" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.pedropimentel.com/2009/06/14/a-recipe-for-lazy-programmers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.pedropimentel.com/2009/06/14/a-recipe-for-lazy-programmers/</feedburner:origLink></item>
		<item>
		<title>View sql queries in your console</title>
		<link>http://feedproxy.google.com/~r/PedroPimentel/~3/42SW91ffAok/</link>
		<comments>http://www.pedropimentel.com/2009/03/22/view-sql-queries-in-your-console/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 21:45:02 +0000</pubDate>
		<dc:creator>Pedro Pimentel</dc:creator>
				<category><![CDATA[hints]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.pedropimentel.com/?p=123</guid>
		<description><![CDATA[Don&#8217;t you think it&#8217;s really irritating when, in the console, you are testing your model&#8217;s methods and everytime you need to check how each SQL query was formed you need to go to another tab to visualize the log ???
Your frustation is over. Just add the following lines in your .irbrc file:

def log_to
  ActiveRecord::Base.logger [...]


Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/10/01/how_to_run_just_one_test_from_your_terminal/' rel='bookmark' title='Permanent Link: How to Run Just one Test Method from your Terminal'>How to Run Just one Test Method from your Terminal</a></li>
<li><a href='http://www.pedropimentel.com/2008/06/15/ultrasphinx-bug/' rel='bookmark' title='Permanent Link: Ultrasphinx bug?'>Ultrasphinx bug?</a></li>
<li><a href='http://www.pedropimentel.com/2008/06/02/open-source-rails/' rel='bookmark' title='Permanent Link: Open Source Rails'>Open Source Rails</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t you think it&#8217;s really irritating when, in the console, you are testing your model&#8217;s methods and everytime you need to check how each SQL query was formed you need to go to another tab to visualize the log ???</p>
<p>Your frustation is over. Just add the following lines in your .irbrc file:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> log_to
  <span style="color:#6666ff; font-weight:bold;">ActiveRecord::Base</span>.<span style="color:#9900CC;">logger</span> = <span style="color:#CC00FF; font-weight:bold;">Logger</span>.<span style="color:#9900CC;">new</span><span style="color:#006600; font-weight:bold;">&#40;</span>$stdout<span style="color:#006600; font-weight:bold;">&#41;</span>
  <span style="color:#6666ff; font-weight:bold;">ActiveRecord::Base</span>.<span style="color:#9900CC;">connection_pool</span>.<span style="color:#9900CC;">clear_reloadable_connections</span>!
<span style="color:#9966CC; font-weight:bold;">end</span></pre></div></div>

<p>You can change the method&#8217;s name to whatever suits your needs. After that, every time you are in your application&#8217;s console you just type <em>log_to</em> and you&#8217;re ready to go:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> log_to
=<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #000000; font-weight: bold;">&gt;&gt;</span> MyModel.count
  SQL <span style="color: #7a0874; font-weight: bold;">&#40;</span>1.8ms<span style="color: #7a0874; font-weight: bold;">&#41;</span> SELECT count<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #c20cb9; font-weight: bold;">as</span> count_all FROM <span style="color: #ff0000;">&quot;mymodels&quot;</span>
=<span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000;">10</span></pre></div></div>

<p>This hint I got it from <a title="Pratik Naik" href="http://m.onkey.org/">Pratik Naik</a> while doing pair programming with him at the company I work.</p>


<p>Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/10/01/how_to_run_just_one_test_from_your_terminal/' rel='bookmark' title='Permanent Link: How to Run Just one Test Method from your Terminal'>How to Run Just one Test Method from your Terminal</a></li>
<li><a href='http://www.pedropimentel.com/2008/06/15/ultrasphinx-bug/' rel='bookmark' title='Permanent Link: Ultrasphinx bug?'>Ultrasphinx bug?</a></li>
<li><a href='http://www.pedropimentel.com/2008/06/02/open-source-rails/' rel='bookmark' title='Permanent Link: Open Source Rails'>Open Source Rails</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/PedroPimentel/~4/42SW91ffAok" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.pedropimentel.com/2009/03/22/view-sql-queries-in-your-console/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.pedropimentel.com/2009/03/22/view-sql-queries-in-your-console/</feedburner:origLink></item>
		<item>
		<title>Qcon London 2009</title>
		<link>http://feedproxy.google.com/~r/PedroPimentel/~3/b-N-DyDQT0o/</link>
		<comments>http://www.pedropimentel.com/2009/03/20/qcon-london-2009/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 13:36:21 +0000</pubDate>
		<dc:creator>Pedro Pimentel</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[qcon]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.pedropimentel.com/?p=108</guid>
		<description><![CDATA[
After 4 months of no activity here (in my twitter I post more frequently), i&#8217;m posting some notes from Qcon London I attended this year.
Curiously, Qcon London began with a keynote from the scientist Tony Hoare (inventor of quicksort) that didn&#8217;t make me sleep. Hoare talked about the division between the academic practices and the [...]


Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/07/28/writing-optioned-software/' rel='bookmark' title='Permanent Link: Writing Opinionated Software'>Writing Opinionated Software</a></li>
<li><a href='http://www.pedropimentel.com/2008/11/05/theres-still-hope/' rel='bookmark' title='Permanent Link: There`s still hope'>There`s still hope</a></li>
<li><a href='http://www.pedropimentel.com/2008/04/17/fisl-90-primeiro-dia/' rel='bookmark' title='Permanent Link: FISL 9.0 &#8211; First day'>FISL 9.0 &#8211; First day</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-118" title="qcon_logo_london_2009" src="http://www.pedropimentel.com/wp-content/uploads/2009/03/qcon_logo_london_2009.jpg" alt="qcon_logo_london_2009" width="395" height="230" /></p>
<p>After 4 months of no activity here (in my <a title="http://www.twitter.com/zukunftsalick" href="http://www.twitter.com/zukunftsalick">twitter</a> I post more frequently), i&#8217;m posting some notes from Qcon London I attended this year.</p>
<p>Curiously, Qcon London began with a keynote from the scientist<strong><a title="C.A.R. Hoare" href="http://en.wikipedia.org/wiki/C._A._R._Hoare"> Tony Hoare</a></strong> (inventor of quicksort) that didn&#8217;t make me sleep. Hoare talked about the division between the academic practices and the commercial world doing many comparisons and little jokes regarding the &#8220;I&#8217;m a scientist, I&#8217;m a engineer&#8221; world.</p>
<p><strong><a title="Keith Braithwaite" href="http://peripateticaxiom.blogspot.com/">Keith Braithwaite</a></strong> started his  talk &#8220;Adopting agile is harder than you&#8217;d like but easier than you&#8217;d think&#8221; by comparing costs of a developer and hardware costs. Keith showed some statistics of how people improve productivity by using bigger monitors and how these hardware costs are related to the developer costs. According to him, if your company don&#8217;t gives you a big monitor,  they are loosing money due to loss in productivity.  Other comments he did were about pair programming where he defends its use in an all the time basis, saying that &#8220;choosing to work alone, is to choose have less quality in your code&#8221;.  In a rant about Rockstars developers, Keith said that them should not be part of a team but hired as consultants or contractors instead. Finishing his talk, Keith presented some points to consider in order to know if agile methodology is working in your team which are: estimates converge, quality remains high over long periods and the team by itself find new approaches to work better.</p>
<p>&#8220;Web-oriented architecture&#8221;  and his other talk &#8220;Transforming software architecture with Web as platform&#8221; by <strong><a title="Dion Hinchcliffe" href="http://web2.socialcomputingmagazine.com/">Dion Hinchcliffe</a></strong> predicts the obvious where most the applications will be web-based and web-oriented and still following the &#8220;always beta&#8221; philosophy because &#8220;the best products are never finished&#8221;. According to Dion, the web oriented architecture is strongly based on REST plus the use of mashups, integration and widgets. Dion said we are missing portability in our applications, so he believes that by using <a title="OPML" href="http://en.wikipedia.org/wiki/OPML">OPML</a> to exchange data, we&#8217;ll be in the right way to the web-oriented architecture.</p>
<p><strong>Martin Fowler</strong>, who doesn&#8217;t need presentations, in &#8220;3 years of real word ruby&#8221; gave us an overall idea of how ruby was introduced in the projects inside ThoughtWorks. Martin talked about how people were dealing with ruby, how the productivity was affected and many other considerations of using ruby for real world projects. According to Martin, there are 41 projects made with ruby. One thing Martin said, was how people felt when they need to go back to work with languages other than ruby. Not surprisingly (for me) most of the people didn&#8217;t want to go back to work with other languages, mostly because the easy of use of ruby. About ruby performance in the projects, Martin said &#8220;Ruby is slow, but that&#8217;s not the bottleneck in most of applications. The biggest cause for slowness nowadays is accessing database&#8221; . Regarding the tools to develop with ruby, once again, wasn&#8217;t any surprise for me. Nobody in the team feel the need for a IDE like Eclipse. All in all, nothing new for me in his talk, but it&#8217;s always good to hear from guys like Martin.</p>
<p>&#8220;Agility: possibilities at a personal level&#8221; by <strong><a title="Linda Rising" href="http://www.lindarising.org/">Linda Rising</a></strong> was a really weird talk. During 95% of its time, she talked about Caffeine and the way it affects a person&#8217;s health. It was for sure a nice talk and Linda definitely knows how to keep people&#8217;s attention. The message that she tried to present was that being agile can be (bad) the same way  &#8220;caffeine&#8221; is for our health because being agile makes you feel energized, stimulated, addicted to work and makes work be a fun thing but our body and mind are not ready for such &#8220;energy&#8221;.</p>
<p><strong><a title="Joseph Pelrine" href="http://www.scrumalliance.org/profiles/61-joseph-pelrine">Joseph Pelrine</a></strong> in &#8220;Coaching self organizing teams&#8221; was about how to make people do things without telling them directly. It&#8217;s all a matter of achieving the right behavior which for Joseph is a function of people vs environment. Self organizing teams have a emergent behavior and are in general conditioned to the &#8220;first fit pattern match&#8221;. It means, they make decisions based in what they experienced. This kind of team needs diversity in terms of behavior in order to stimulate a evolving behavior as a team.  A team is not just a bunch of people working together, they need &#8220;heat&#8221; to move and work better. According to Joseph, it&#8217;s near &#8220;chaos&#8221; when people do they best. To defend his idea, he states there are team &#8220;temperatures&#8221; to keep track:</p>
<ul>
<li> <strong>burning</strong>, when the team is in a organized chaos where everything is done fast, synchronized  and without errors. According to Joseph, although this is what every team manager wants this &#8220;temperature&#8221; only can be maintained for short periods because it can drive the team crazy.</li>
<li><strong>cooking</strong>, when the team  have everything fitting nicely and properly. Projections are made with realistic dates and everything flows to achieve a goal without help of the team manager.</li>
<li><strong>stagnating</strong>, when people in the team starts procrastinating the tasks because they don&#8217;t realize the real value of it.</li>
<li><strong>congealing</strong>, the team is lazy. They know they could do something better, but they are too lazy to do it.</li>
<li><strong>solidifying</strong>, the team starts adding bureaucracy for everything just to procrastinate even more the tasks.</li>
</ul>
<p>One important lesson from Joseph was if you want to change a team, you&#8217;ll need to stimulate the team&#8217;s network by creating confidence among the members of the team. How can you do that ? It&#8217;s like flirting with somebody , first it requires a real context to apply, it means, something to talk about, then you&#8217;ll need a good environment, it means the place where it will evolve the stimulation.</p>


<p>Probably Related posts:<ol><li><a href='http://www.pedropimentel.com/2008/07/28/writing-optioned-software/' rel='bookmark' title='Permanent Link: Writing Opinionated Software'>Writing Opinionated Software</a></li>
<li><a href='http://www.pedropimentel.com/2008/11/05/theres-still-hope/' rel='bookmark' title='Permanent Link: There`s still hope'>There`s still hope</a></li>
<li><a href='http://www.pedropimentel.com/2008/04/17/fisl-90-primeiro-dia/' rel='bookmark' title='Permanent Link: FISL 9.0 &#8211; First day'>FISL 9.0 &#8211; First day</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/PedroPimentel/~4/b-N-DyDQT0o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.pedropimentel.com/2009/03/20/qcon-london-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.pedropimentel.com/2009/03/20/qcon-london-2009/</feedburner:origLink></item>
	</channel>
</rss>
