<?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>Julio Santos</title>
	<atom:link href="http://morgane.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://morgane.com</link>
	<description>All over the world</description>
	<lastBuildDate>Tue, 15 Dec 2009 16:37:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>In Scrum (or agile in general) what are managers good for</title>
		<link>http://morgane.com/2009/12/15/in-scrum-or-agile-in-general-what-are-managers-good-for/</link>
		<comments>http://morgane.com/2009/12/15/in-scrum-or-agile-in-general-what-are-managers-good-for/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 16:37:23 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=569</guid>
		<description><![CDATA[I&#8217;m going to quote &#8220;woynam&#8221; from the scrum mailing list:
I like to use the (American) football analogy that managers are like offensive linemen. Their job is to knock the defensive players on their asses so that the high paid running backs can run into the end zone without getting grass on their pretty white uniforms. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to quote &#8220;woynam&#8221; from the scrum mailing list:</p>
<blockquote><p>I like to use the (American) football analogy that managers are like offensive linemen. Their job is to knock the defensive players on their asses so that the high paid running backs can run into the end zone without getting grass on their pretty white uniforms. The running backs score the touchdowns, and get the glory, but the linemen make it possible. :-) If a lineman finishes the game without mud, and a bit of blood, on their uniform, they probably weren&#8217;t doing their jobs.
</p></blockquote>
<p>I like to think of a manager as a shield between the manager&#8217;s team and the rest of the org. I do believe this is what managers need to do, especially managers of &#8220;makers&#8221;. However, if you&#8217;re such manager (and good for you), do expect to get bruised. You might even have to quit your job if the company feels you&#8217;re too strong a shield. Been there.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/12/15/in-scrum-or-agile-in-general-what-are-managers-good-for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>how to turn a happy programmer into something else</title>
		<link>http://morgane.com/2009/10/18/how-to-turn-a-happy-programmer-into-something-else/</link>
		<comments>http://morgane.com/2009/10/18/how-to-turn-a-happy-programmer-into-something-else/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 01:32:20 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=560</guid>
		<description><![CDATA[Don&#8217;t laugh, this could happen to you:
http://hashedbits.com/the-birth-of-the-grumpy-asshole-programmer/
Stage 1: The happy creative programmer
Stage 2: The proud father
Stage 3: The product guru
Stage 4: The grumpy asshole programmer
]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t laugh, this could happen to you:</p>
<p><a href="http://hashedbits.com/the-birth-of-the-grumpy-asshole-programmer/">http://hashedbits.com/the-birth-of-the-grumpy-asshole-programmer/</a></p>
<p>Stage 1: The happy creative programmer<br />
Stage 2: The proud father<br />
Stage 3: The product guru<br />
Stage 4: The grumpy asshole programmer</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/10/18/how-to-turn-a-happy-programmer-into-something-else/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pile of books &#8211; 4 years later</title>
		<link>http://morgane.com/2009/10/18/pile-of-books-4-years-later/</link>
		<comments>http://morgane.com/2009/10/18/pile-of-books-4-years-later/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 20:36:50 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=552</guid>
		<description><![CDATA[4 years ago I had this pile of books waiting to be read: http://morgane.com/2005/11/
The current list looks like this:

Some things never change&#8230;
]]></description>
			<content:encoded><![CDATA[<p>4 years ago I had this pile of books waiting to be read: <a href="http://morgane.com/2005/11/02/pile-of-books/">http://morgane.com/2005/11/</a></p>
<p>The current list looks like this:</p>
<p><img src="http://morgane.com/wp-content/uploads/2009/10/IMG_0779.JPG" alt="books" title="books" width="600" height="450" /></p>
<p>Some things never change&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/10/18/pile-of-books-4-years-later/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>here-documents</title>
		<link>http://morgane.com/2009/10/18/here-documents/</link>
		<comments>http://morgane.com/2009/10/18/here-documents/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 19:21:28 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=543</guid>
		<description><![CDATA[Some ways of using here-docs:
name = &#34;bob&#34;
# interpolation
doc = &#60;&#60;DOC
&#160; Yo #{name},
&#160; what's up
DOC
p doc
#=&#62; &#34; &#160;Yo bob,\n &#160;what's up\n&#34;
# indent the end marker
doc = &#60;&#60;-DOC
&#160; Yo #{name},
&#160; what's up
&#160; DOC
p doc
# =&#62; &#34; &#160;Yo bob,\n &#160;what's up\n&#34;
# no interpolation
doc = &#60;&#60;-'DOC'
&#160; Yo #{name},
&#160; what's up &#160; &#160; &#160; 
&#160; DOC
p doc
# =&#62; &#34; &#160;Yo [...]]]></description>
			<content:encoded><![CDATA[<p>Some ways of using here-docs:</p>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">name = <span style="color:#996600;">&quot;bob&quot;</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#008000; font-style:italic;"># interpolation</span><br />
doc = <span style="color:#006600; font-weight:bold;">&lt;&lt;</span>DOC<br />
&nbsp; Yo <span style="color:#008000; font-style:italic;">#{name},</span><br />
&nbsp; what<span style="color:#996600;">'s up<br />
DOC<br />
p doc<br />
#=&gt; &quot; &nbsp;Yo bob,<span style="color:#000099;">\n</span> &nbsp;what'</span>s up\n<span style="color:#996600;">&quot;</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#008000; font-style:italic;"># indent the end marker</span><br />
doc = <span style="color:#006600; font-weight:bold;">&lt;&lt;-</span>DOC<br />
&nbsp; Yo <span style="color:#008000; font-style:italic;">#{name},</span><br />
&nbsp; what<span style="color:#996600;">'s up<br />
&nbsp; DOC<br />
p doc<br />
# =&gt; &quot; &nbsp;Yo bob,<span style="color:#000099;">\n</span> &nbsp;what'</span>s up\n<span style="color:#996600;">&quot;</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#008000; font-style:italic;"># no interpolation</span><br />
doc = <span style="color:#006600; font-weight:bold;">&lt;&lt;-</span><span style="color:#996600;">'DOC'</span><br />
&nbsp; Yo <span style="color:#008000; font-style:italic;">#{name},</span><br />
&nbsp; what<span style="color:#996600;">'s up &nbsp; &nbsp; &nbsp; <br />
&nbsp; DOC<br />
p doc<br />
# =&gt; &quot; &nbsp;Yo <span style="color:#000099;">\#</span>{name},<span style="color:#000099;">\n</span> &nbsp;what'</span>s up\n<span style="color:#996600;">&quot;</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#008000; font-style:italic;"># replacing spaces with underscores</span><br />
doc = <span style="color:#006600; font-weight:bold;">&lt;&lt;</span>DOC.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">' '</span>, <span style="color:#996600;">'_'</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
&nbsp; Yo <span style="color:#008000; font-style:italic;">#{name},</span><br />
&nbsp; what<span style="color:#996600;">'s up &nbsp; &nbsp; &nbsp; <br />
DOC<br />
p doc<br />
# =&gt; &quot;__Yo_bob,<span style="color:#000099;">\n</span>__what'</span>s_up\n<span style="color:#996600;">&quot;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/10/18/here-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cyberduck and snowleopard don&#8217;t like each other</title>
		<link>http://morgane.com/2009/10/18/cyberduck-and-snowleopard-dont-like-each-other/</link>
		<comments>http://morgane.com/2009/10/18/cyberduck-and-snowleopard-dont-like-each-other/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 18:08:28 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=536</guid>
		<description><![CDATA[Cyberduck won&#8217;t start on Snow Leopard. Install the new beta to fix it:
http://cyberduck.ch/
]]></description>
			<content:encoded><![CDATA[<p>Cyberduck won&#8217;t start on Snow Leopard. Install the new beta to fix it:</p>
<p>http://cyberduck.ch/</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/10/18/cyberduck-and-snowleopard-dont-like-each-other/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>some awesome textmate shortcuts</title>
		<link>http://morgane.com/2009/10/16/some-awesome-textmate-shortcuts/</link>
		<comments>http://morgane.com/2009/10/16/some-awesome-textmate-shortcuts/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 04:46:06 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=533</guid>
		<description><![CDATA[as&#60;tab&#62; 
&#160; assert&#40;test, &#34;Failure message.&#34;&#41;
ase&#60;tab&#62;
&#160; assert_equal&#40;expected, actual&#41;
tc&#60;tab&#62;
&#160;require &#34;test/unit&#34;

require &#34;library_file_name&#34;

class TestLibraryFileName &#60; Test::Unit::TestCase
&#160; def test_case_name
&#160; &#160; 
&#160; end
end
:&#60;tab&#62;
&#160; :key =&#62; &#34;value&#34;,
]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">as<span style="color:#006600; font-weight:bold;">&lt;</span>tab<span style="color:#006600; font-weight:bold;">&gt;</span> <br />
&nbsp; assert<span style="color:#006600; font-weight:bold;">&#40;</span>test, <span style="color:#996600;">&quot;Failure message.&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ase<span style="color:#006600; font-weight:bold;">&lt;</span>tab<span style="color:#006600; font-weight:bold;">&gt;</span><br />
&nbsp; assert_equal<span style="color:#006600; font-weight:bold;">&#40;</span>expected, actual<span style="color:#006600; font-weight:bold;">&#41;</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tc<span style="color:#006600; font-weight:bold;">&lt;</span>tab<span style="color:#006600; font-weight:bold;">&gt;</span><br />
&nbsp;<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;test/unit&quot;</span><br />
<br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">&quot;library_file_name&quot;</span><br />
<br />
<span style="color:#9966CC; font-weight:bold;">class</span> TestLibraryFileName <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#CC00FF; font-weight:bold;"><span style="color:#6666ff; font-weight:bold;">Test::Unit::TestCase</span></span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">def</span> test_case_name<br />
&nbsp; &nbsp; <br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">:<span style="color:#006600; font-weight:bold;">&lt;</span>tab<span style="color:#006600; font-weight:bold;">&gt;</span><br />
&nbsp; <span style="color:#ff3333; font-weight:bold;">:key</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;value&quot;</span>,</div></div>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/10/16/some-awesome-textmate-shortcuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>uninitialized  constant MysqlCompat::MysqlRes</title>
		<link>http://morgane.com/2009/10/10/uninitialized-constant-mysqlcompatmysqlres/</link>
		<comments>http://morgane.com/2009/10/10/uninitialized-constant-mysqlcompatmysqlres/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 14:52:27 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=524</guid>
		<description><![CDATA[It seems that I still don&#8217;t have a stable system, since I&#8217;ve upgraded to Snow Leopard a few weeks back.
Running db:migrate or entering cmd-R from TextMate fails with the following error:
  uninitialized  constant MysqlCompat::MysqlRes
I did a few different things, but I it boils down to having to do this:

$ sudo gem uninstall mysql
$ [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that I still don&#8217;t have a stable system, since I&#8217;ve upgraded to Snow Leopard a few weeks back.</p>
<p>Running db:migrate or entering cmd-R from TextMate fails with the following error:</p>
<p>  uninitialized  constant MysqlCompat::MysqlRes</p>
<p>I did a few different things, but I it boils down to having to do this:</p>
<pre>
$ sudo gem uninstall mysql
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/lib/mysql_config
</pre>
<p>(your mysql_config could be in /usr/local/mysql/bin instead, in which case make sure to use that path)</p>
<p>I&#8217;ve also wound up uninstalling mysql and reinstalling, though I don&#8217;t think those steps were necessary. Just in case, you might want to try that also. Go here: <a href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx">http://dev.mysql.com/downloads/mysql/5.1.html#macosx</a> and get &#8220;Mac OS X 10.5 (x86_64)&#8221; from the package format section.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/10/10/uninitialized-constant-mysqlcompatmysqlres/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>upgrading to snow leopard</title>
		<link>http://morgane.com/2009/08/29/upgrading-to-snow-leopard/</link>
		<comments>http://morgane.com/2009/08/29/upgrading-to-snow-leopard/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 23:40:17 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=519</guid>
		<description><![CDATA[1) Make sure you&#8217;re all upgraded (10.5.x) before moving to snow leopard. If you aren&#8217;t, the installer will have you do it, so it&#8217;s all good.
2) Log out all but one user. If you don&#8217;t things will still work, but the installer won&#8217;t continue until you do, so do that too to save a few [...]]]></description>
			<content:encoded><![CDATA[<p>1) Make sure you&#8217;re all upgraded (10.5.x) before moving to snow leopard. If you aren&#8217;t, the installer will have you do it, so it&#8217;s all good.</p>
<p>2) Log out all but one user. If you don&#8217;t things will still work, but the installer won&#8217;t continue until you do, so do that too to save a few minutes.</p>
<p>3) It takes about an hour</p>
<p>iMac: everything worked fine after the upgrade: Time Machine, Adium, iTunes, Firefox. These being the main apps I tried.</p>
<p>MacbookPro #1: Time Machine worked, so did mounting net disks, iTunes and Safari. Spirited Away needed Rosetta. The OS was smart enough to let me know about Rosetta and install it on its own. Worked fine. Wireless and hard wired connections worked. World of Warcraft works, though my toons are still lame. Couldn&#8217;t get Exchange to work, and it&#8217;s back to Entourage. Oh well. VPN through Juniper Network Connect didn&#8217;t work and I had to do this for it to:</p>
<p>sudo chmod 755 /usr/local/juniper/nc/{version}/<br />
sudo mkdir &#8216;/Applications/Network Connect.app/Contents/Frameworks&#8217;</p>
<p>iStat menus are gone, but the desktop widget still works.</p>
<p>Still have two macbook pros to upgrade, but it&#8217;s looking good so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/08/29/upgrading-to-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3 pillars of job satisfaction</title>
		<link>http://morgane.com/2009/08/27/3-pillars-of-job-satisfaction/</link>
		<comments>http://morgane.com/2009/08/27/3-pillars-of-job-satisfaction/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 04:58:03 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=512</guid>
		<description><![CDATA[Skorks says his 3 pillars are money, people and type of work.
Rod Hilton says it&#8217;s people, project and the company.
I say it&#8217;s the people, the technology and the appreciation you get.
People: If the people you work with are nice, or your friends, or rich &#038; famous, or funny, or easy to work with. Basically if [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.skorks.com/2009/08/the-3-pillars-of-job-satisfaction/">Skorks says</a> his 3 pillars are money, people and type of work.</p>
<p><a href="http://www.nomachetejuggling.com/2009/08/21/my-personal-3-pillars-of-job-satisfaction/">Rod Hilton</a> says it&#8217;s people, project and the company.</p>
<p>I say it&#8217;s the people, the technology and the appreciation you get.</p>
<p>People: If the people you work with are nice, or your friends, or rich &#038; famous, or funny, or easy to work with. Basically if I don&#8217;t hate to be with them, I can check that box.</p>
<p>Technology: Challenging, relevant, interesting, in high demand, brain teaser. That does it.</p>
<p>Appreciation: $$$, your users, your coworkers, your boss, the industry. Any of these is good.</p>
<p>3 out of 3: you run red lights to get to work in the morning<br />
2 out of 3: you run yellow lights<br />
1 out of 3: you slow down at the green light<br />
0 out of 3: been there, no fun, but it gets better.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/08/27/3-pillars-of-job-satisfaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What are some examples of awesome companies/products built with TDD?</title>
		<link>http://morgane.com/2009/08/14/what-are-some-examples-of-awesome-companiesproducts-built-with-tdd/</link>
		<comments>http://morgane.com/2009/08/14/what-are-some-examples-of-awesome-companiesproducts-built-with-tdd/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 16:01:12 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=509</guid>
		<description><![CDATA[A couple of weeks ago I asked on twitter/facebook for examples of awesome companies(*) built with TDD, and never got a satisfying answer. 
As a TDD advocate and practitioner, I want those companies to exist. TDD (or at least &#8220;an insane amount of tests&#8221;) has been working for me for almost a whole decade, and [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago I asked on twitter/facebook for examples of awesome companies(*) built with TDD, and never got a satisfying answer. </p>
<p>As a TDD advocate and practitioner, I want those companies to exist. TDD (or at least &#8220;an insane amount of tests&#8221;) has been working for me for almost a whole decade, and  it would be disappointing if the technique only works for average companies or products (I still haven&#8217;t built a product worthy of awe).</p>
<p>I was told that there&#8217;s no correlation between TDD and product awesomeness. In that case if, say, 1% of all teams in the world practice TDD (or lotsa tests), then for every 100 awesome companies, I should be able to find one that was built thanks to TDD.</p>
<p>I can&#8217;t think of any (perhaps Rails by 37 signals?). If you know of one, or even better, work or worked there, I would like to hear about it.</p>
<p>(*) I want to be very clear about the fact that I already know that TDD works great for building good enough products. I don&#8217;t need to see examples like how Division 37 of BigCorp has 82.3% code coverage which allowed them to ship in 3 months instead of 6. I do mean awesome companies or products. For example: gmail, google 1.0, netflix, amazon, firefox, mac os, blizzard, facebook. </p>
<p>I&#8217;m also less interested in TDD used to maintain products, great or not. So for example, if World of Warcraft 1.0 was built with TDD I want to know about it. If a team of developers added test coverage after wow 1.0 was out, so fixing bugs would be easier, it would be nice to hear, but it&#8217;s not what I&#8217;m looking for.</p>
<p>My hypothesis is that TDD is great for making average products better. But for building truly exceptional products,  you need truly exceptional individuals, and those individuals tend to be slowed down by TDD. Therefore truly exceptional products are not built with TDD. QED (unless proven otherwise :p)</p>
<p>Of course bad or below average programmers also would never user TDD, and that&#8217;s where the similarity ends.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/08/14/what-are-some-examples-of-awesome-companiesproducts-built-with-tdd/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>On Paul Graham&#8217;s Maker&#8217;s Schedule, Manager&#8217;s Schedule</title>
		<link>http://morgane.com/2009/08/08/on-paul-grahams-makers-schedule-managers-schedule/</link>
		<comments>http://morgane.com/2009/08/08/on-paul-grahams-makers-schedule-managers-schedule/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 21:05:09 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=505</guid>
		<description><![CDATA[A few weeks ago a co-worker of mine came across this PG&#8217;s essay and sent it to the rest of the company.
It sparked a conversation which was great. I was surprised that &#8220;the other side&#8221; didn&#8217;t already know this stuff. Especially useful because everyone seems to &#8220;get it now&#8221;. Sometimes all it takes is to [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago a co-worker of mine came across this <a href="http://www.paulgraham.com/makersschedule.html">PG&#8217;s essay</a> and sent it to the rest of the company.</p>
<p>It sparked a conversation which was great. I was surprised that &#8220;the other side&#8221; didn&#8217;t already know this stuff. Especially useful because everyone seems to &#8220;get it now&#8221;. Sometimes all it takes is to share information.</p>
<p>Anyway, another co-worker just asked:</p>
<p>- putting together a model airplane falls in the &#8220;maker&#8221; category, right?<br />
- how do you makers eat since you can&#8217;t take breaks.</p>
<p>I responded, and here&#8217;s, for the most part, what I said:</p>
<p>> There are other examples/ analogies outside programming &#8211; any manufacturing<br />
> process has the same issues &#8211; whether you are making high tensile steel or<br />
> putting a model airplane there are the same issues.</p>
<p>You&#8217;re absolutely right. PG was careful enough to say maker instead of<br />
programmer for that reason. However, and though it&#8217;s true this is not unique<br />
to programmers, I don&#8217;t think Paul Graham meant &#8220;maker&#8221; to be as generic as<br />
to include manual labor, or any other activity you can do while watching TV<br />
and having a conversation with your neighbors. I imagine that&#8217;s how one puts<br />
together airplane models :)</p>
<p>The mental concentration necessary to make a program, or to calculate pi in<br />
your head, or to integrate a complex mathematical expression, is not<br />
comparable to the mental concentration necessary to put together a model<br />
airplane, or to make a table out of wood, or, and that&#8217;s his point, to be in<br />
a meeting.</p>
<p>Especially in a meeting with more than 2 people in it, it&#8217;s common to see<br />
people doing something else. Perhaps chatting with their friends, or<br />
&#8220;catching up on email&#8221;, or whatever it is that people choose to do during<br />
meetings.</p>
<p>To a naïve observer such as me, that indicates that the act of meeting<br />
though important in so many ways, requires less mental concentration than<br />
what a maker would need.</p>
<p>Programming, unlike other mental activities such as trying to memorize the<br />
first 50 decimals of pi, are even more to PG&#8217;s point, because they not only<br />
require periods of intense mental concentration, but these periods tend to<br />
be longer than just 15 minutes.</p>
<p>It&#8217;s an accepted fact that it takes 15 to 20 minutes just to get back to a<br />
decent concentration level. Which btw means that when you (you here is the<br />
general you) interrupt a maker &#8220;with a quick question&#8221;, it will take the<br />
maker 15 to 20 minutes to start being productive again.</p>
<p>> One question springs to mind – eating &#8211; always thinking about food &#8211; how<br />
> does a maker eat if they can’t take a break?</p>
<p>Important question as well.</p>
<p>Of course makers *can* take breaks. PG&#8217;s point was not that makers can&#8217;t<br />
take their eyes off the monitor.</p>
<p>Eating works (vs having meetings) because eating, or going to the bathroom,<br />
doesn&#8217;t require mental context switch. I can be eating and still be thinking<br />
about the problem I was trying to solve. Same for going to the bathroom. I<br />
can go for a walk around the block, and though it might look like I&#8217;m just<br />
goofing off, I&#8217;m actually working.</p>
<p>Another reason why these types of break work, is that they&#8217;re not time<br />
bound. Unlike a meeting which happens to be scheduled for say 3:00,<br />
eating/peeing is more flexible.</p>
<p>If my lunch alarm goes off (yes, I have one) and I&#8217;m in the middle of<br />
something, I know I don&#8217;t have to drop everything and go eat right now! I<br />
can start winding things down, take notes so I remember where I was when I<br />
come back, or even skip lunch all together if I really need to.</p>
<p>Compare that to having a meeting at 3 o&#8217;clock, where you&#8217;re supposed to be<br />
there and perhaps even participate (when you&#8217;re not also &#8220;catching up on<br />
email&#8221;). In that case I cannot just show up 20 minutes late &#8220;because I was<br />
in the middle of something&#8221;. Or god forbid, not show up at all, which is<br />
actually better, than to show up and only pretend to be there, but that&#8217;s<br />
for another day.</p>
<p>If you add all these notions together:</p>
<p>Meetings start at fixed time + takes 15 to 20 minutes to start being<br />
productive + programming requires long periods of sustained concentration,<br />
and you can see how having 2 hours of non-meeting time is as good as having<br />
no time at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/08/08/on-paul-grahams-makers-schedule-managers-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simply Scheme is available online</title>
		<link>http://morgane.com/2009/07/07/simply-scheme-is-available-online/</link>
		<comments>http://morgane.com/2009/07/07/simply-scheme-is-available-online/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 03:05:02 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>
		<category><![CDATA[scheme pdf books]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=500</guid>
		<description><![CDATA[
Brian Harvey&#8217;s Simply Scheme fantastic book is now available online. Brian Harvey just announced it a couple of days ago on comp.lang.scheme and it got me all excited. I already had a paper copy but being able to walk around with a much lighter version is really appealing to me.
Both PDF and HTML versions are [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://morgane.com/wp-content/uploads/2009/07/simply.jpg" alt="simply" title="simply" width="193" height="217" class="alignleft size-full wp-image-502" /></p>
<p><a href="http://www.eecs.berkeley.edu/~bh/ss-toc2.html">Brian Harvey&#8217;s Simply Scheme</a> fantastic book is now available online. Brian Harvey just announced it a couple of days ago on comp.lang.scheme and it got me all excited. I already had a paper copy but being able to walk around with a much lighter version is really appealing to me.</p>
<p>Both PDF and HTML versions are available. Unfortunately the PDF version is not available as one big bundle. Instead you have to download 28 chapters, which is itself a pain, and then you need to combine them somehow.</p>
<p>I got the 28 PDFs with wget, from http://www.cs.berkeley.edu/~bh/pdf/ssch[00 -> 27].pdf then used ghostscript to combine them:</p>
<p>$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=simply-scheme.pdf ssch00.pdf ssch01.pdf ssch02.pdf &#8230; ssch27.pdf </p>
<p>Worked great.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/07/07/simply-scheme-is-available-online/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>be happy, simplify</title>
		<link>http://morgane.com/2009/01/08/be-happy-simplify/</link>
		<comments>http://morgane.com/2009/01/08/be-happy-simplify/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 00:56:48 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=486</guid>
		<description><![CDATA[http://www.webmd.com/balance/features/why-youre-not-happy
&#8220;Why do you think monks and nuns shave their heads, he asks? For one, it simplifies their lives&#8221;
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.webmd.com/balance/features/why-youre-not-happy">http://www.webmd.com/balance/features/why-youre-not-happy</a></p>
<p>&#8220;Why do you think monks and nuns shave their heads, he asks? For one, it simplifies their lives&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/01/08/be-happy-simplify/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>textmate footnotes makes rails in &#8220;dev&#8221; super slow</title>
		<link>http://morgane.com/2009/01/08/textmate-footnotes-makes-rails-in-dev-super-slow/</link>
		<comments>http://morgane.com/2009/01/08/textmate-footnotes-makes-rails-in-dev-super-slow/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 22:30:03 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=483</guid>
		<description><![CDATA[textmate footnotes is a nice plugin for debugging your web app. Unfortunately it makes the app super slow in &#8220;development&#8221;. you should only activate it when you really need it.
Luckily I work with people smarter than me, who thought that maybe the reason for the slowness was this plugin.
now I have it off by default [...]]]></description>
			<content:encoded><![CDATA[<p>textmate footnotes is a nice plugin for debugging your web app. Unfortunately it makes the app super slow in &#8220;development&#8221;. you should only activate it when you really need it.</p>
<p>Luckily I work with people smarter than me, who thought that maybe the reason for the slowness was this plugin.</p>
<p>now I have it off by default and life is good again. </p>
<p><a href="http://agilewebdevelopment.com/plugins/textmate_footnotes">http://agilewebdevelopment.com/plugins/textmate_footnotes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2009/01/08/textmate-footnotes-makes-rails-in-dev-super-slow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Barack the President!</title>
		<link>http://morgane.com/2008/11/04/obama-the-president/</link>
		<comments>http://morgane.com/2008/11/04/obama-the-president/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 05:17:42 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=468</guid>
		<description><![CDATA[Just listened to Obama&#8217;s speech. Wow, that&#8217;s what smart presidents are supposed to sound like. I had almost forgotten it.

It&#8217;s good to be an American.
]]></description>
			<content:encoded><![CDATA[<p>Just listened to Obama&#8217;s speech. Wow, that&#8217;s what smart presidents are supposed to sound like. I had almost forgotten it.</p>
<p><a href="http://morgane.com/wp-content/uploads/2008/11/barack-wins-xo-spirit.jpg"><img src="http://morgane.com/wp-content/uploads/2008/11/barack-wins-xo-spirit-300x149.jpg" alt="" title="barack-wins-xo-spirit" width="300" height="149" class="alignnone size-medium wp-image-469" /></a></p>
<p>It&#8217;s good to be an American.</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2008/11/04/obama-the-president/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nick Cave and The Bad Seeds @ The Warfield in San Francisco</title>
		<link>http://morgane.com/2008/09/21/nick-cave-and-the-bad-seeds-the-warfield-in-san-francisco/</link>
		<comments>http://morgane.com/2008/09/21/nick-cave-and-the-bad-seeds-the-warfield-in-san-francisco/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 11:30:05 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=412</guid>
		<description><![CDATA[A friend gave me Tender Prey 20 years ago for my birthday. I had never listened to Nick Cave before and overnight Nick Cave and The Bad Seeds became my number #1 rock band to follow.
Though I still go to to rock concerts (even to go see lesser bands), though not as much as back [...]]]></description>
			<content:encoded><![CDATA[<p>A friend gave me <a href="http://en.wikipedia.org/wiki/Tender_Prey">Tender Prey</a> 20 years ago for my birthday. I had never listened to Nick Cave before and overnight Nick Cave and The Bad Seeds became my number #1 rock band to follow.</p>
<p>Though I still go to to rock concerts (even to go see lesser bands), though not as much as back then, life is such that I had never seen Nick Cave perform live. That was until a couple of days ago in San Francisco. </p>
<p>Over the years, and being as obsessed as I am with this band, my passion rubbed off on my family. So much that I was not the only one excited by finally going to go see Mr Cave. Which is perfect of course.  Life is good when you, your wife and your kid are excited about the same stuff.</p>
<p>We had tickets for the floor, as I always do just in case there&#8217;s going to be some mosh. Though many of his songs are very moshable, he&#8217;s such a special artist with such special music, that I was guessing that people would be more interested in absorbing his stuff as much as possible, as opposed to absorbing other people&#8217;s fists on their noses. Either that or the majority of his followers are middle age men like me, who lost their <a href="http://www.youtube.com/watch?v=kPQR-OsH0RQ">smelly teen spirit</a> and are not going to get <a href="http://www.youtube.com/watch?v=9nYejkFKb9A">caught in a mosh</a>. Losers.</p>
<p>Anyway, no moshing this time and like Fabienne said &#8220;you don&#8217;t go to opera to slam dance, you go to watch the show&#8221;. Wow. Seeing Nick Cave has the same gravitas as going to the opera. I like that.</p>
<p><img src="http://photos-d.ak.facebook.com/photos-ak-sf2p/v334/197/123/548857698/n548857698_805899_4834.jpg" alt="" /></p>
<p>In fact, I was a little worried that Nick Cave, after all these years and with nothing to prove, would either be tired of performing and just stand there and sing, or act like a diva. Boy was I wrong. So much energy, so much playing with the crowd, so much humor.</p>
<p>Yeah, it was a beautiful show. Great music, great performance, great set, no special effects. After the man himself, it was hard to take my eyes off Warren Ellis (not that one, <a href="http://en.wikipedia.org/wiki/Warren_Ellis_(musician)">this one</a>). The man does all sorts of crazy things with his violins and his mini guitars.</p>
<p>The <a href="http://www.hardrockchick.com/2008/09/20/nick-cave-and-the-bad-seeds-the-warfield-91908/">Hard Rock Chick</a> has a nice post about the gig, and <a href="http://dustinkeirstead.blogspot.com/2008/09/nick-cave-warfield-photos-and-setlist.html">Blah Blah Blog</a> has some nice pictures. <a href="http://www.new.facebook.com/album.php?aid=35930&#038;l=afb50&#038;id=548857698">My pictures</a> aren&#8217;t as nice, but they are mine.</p>
<p>One of 1,000 Best Nick Cave songs:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/8owifmb8n2s&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/8owifmb8n2s&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>&#8211;<br />
Special announcement:</p>
<p>In a couple of weeks my other favorite band :p <a href="http://www.muttville.org/events/GogolBordello.html">Gogol Bordello will be in the city again</a> and I want to see them again. My passion for GB hasn&#8217;t rubbed off on the family yet, and I think I will have to work very hard to convince them. In fact I don&#8217;t think I can convince them. I&#8217;m looking for someone to join me. It&#8217;s for a good cause and moshing is almost guaranteed!</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2008/09/21/nick-cave-and-the-bad-seeds-the-warfield-in-san-francisco/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>my micro-investments have enabled 4 loans so far</title>
		<link>http://morgane.com/2008/09/12/my-micro-investments-have-enabled-4-loans-so-far/</link>
		<comments>http://morgane.com/2008/09/12/my-micro-investments-have-enabled-4-loans-so-far/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 13:15:06 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=402</guid>
		<description><![CDATA[My *small* investments with microplace (*) have already enabled 4 loans to the working poor.

Some would argue that when one borrower gets a micro-loan, not only will the borrower start their own business and therefore help themselves out of poverty, but their family will also be helped.
I like to think that enabling 4 loans really [...]]]></description>
			<content:encoded><![CDATA[<p>My *small* investments with <a href="http://microplace.com">microplace</a> (*) have already enabled 4 loans to the working poor.</p>
<p><img src="/blog/mp-impact.png" alt="" /></p>
<p>Some would argue that when one borrower gets a micro-loan, not only will the borrower start their own business and therefore help themselves out of poverty, but their family will also be helped.</p>
<p>I like to think that enabling 4 loans really translates into helping 10-15 people.</p>
<p>(*) disclaimer: I work there</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2008/09/12/my-micro-investments-have-enabled-4-loans-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>i like the apple keyboards&#8230;</title>
		<link>http://morgane.com/2008/09/06/i-like-the-apple-keyboards/</link>
		<comments>http://morgane.com/2008/09/06/i-like-the-apple-keyboards/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 00:20:08 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=395</guid>
		<description><![CDATA[I got apple keyboards for my peeps @ work. I think they&#8217;ll like them too.

]]></description>
			<content:encoded><![CDATA[<p>I got <a href="http://www.apple.com/keyboard/">apple keyboards</a> for my peeps @ work. I think they&#8217;ll like them too.</p>
<p><img src="http://images.apple.com/keyboard/images/wired_keyboard20070813.gif" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2008/09/06/i-like-the-apple-keyboards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>google chrome comic book is excellent</title>
		<link>http://morgane.com/2008/09/05/google-chrome-comic-book-is-excellent/</link>
		<comments>http://morgane.com/2008/09/05/google-chrome-comic-book-is-excellent/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 23:36:54 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=393</guid>
		<description><![CDATA[google chrome comic book
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/googlebooks/chrome/">google chrome comic book</a></p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2008/09/05/google-chrome-comic-book-is-excellent/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>microplace 2.0 is live</title>
		<link>http://morgane.com/2008/07/08/microplace-20-is-live/</link>
		<comments>http://morgane.com/2008/07/08/microplace-20-is-live/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 15:45:39 +0000</pubDate>
		<dc:creator>Julio Santos</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://morgane.com/?p=386</guid>
		<description><![CDATA[New design and better search are the two big features. Now you can search for investments based on different criteria: interest rate, level of poverty, women impact, etc. Of course you can also still search for investments in your favorite region.
http://microplace.com
Now to celebrate &#8230;
]]></description>
			<content:encoded><![CDATA[<p>New design and better search are the two big features. Now you can search for investments based on different criteria: interest rate, level of poverty, women impact, etc. Of course you can also still search for investments in your favorite region.</p>
<p><a href="http://microplace.com">http://microplace.com</a></p>
<p>Now to celebrate &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://morgane.com/2008/07/08/microplace-20-is-live/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
