<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007">
   <channel>
      <title>QCon SF 2007</title>
      <description>Blogs and photos from QCon SF 2007.</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=bl8uyKOM3BGg3c14Le2fWQ</link>
      <pubDate>Tue, 24 Nov 2009 06:05:36 -0800</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>Configuration or DSL</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/07/01/configuration-or-dsl/</link>
         <description>I have already mentioned that, in my opinion, configuration is often the result of a lack of design. In other words we introduce configuration as a substitute for a design decision. There are some cases however when it is desirable to make things configurable. For example, when a software vendor needs to enable clients to [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=135</guid>
         <pubDate>Tue, 30 Jun 2009 20:45:14 -0700</pubDate>
         <content:encoded><![CDATA[<p>I have <a rel="nofollow" target="_blank" href="http://digitalbrikes.com/onebrikeatatime/2009/03/13/configuration-and-the-lack-of-design/">already mentioned</a> that, in my opinion, configuration is often the result of a lack of design. In other words we introduce configuration as a substitute for a design decision. There are some cases however when it is desirable to make things configurable. For example, when a software vendor needs to enable clients to plug in custom behaviour without a restart of their system.</p>
<p>I would contend this is a rare scenario and that in most cases injection of dependency addresses the actual need (think assembly with Spring for instance).</p>
<p>I imagine cases when that is not enough and I was wondering at what point does the configuration parameters start to form a DSL. I was also wondering when it becomes more efficient to create a DSL to program the adaptation to local conditions. An initial guideline could be that it is as soon as you thing of storing the configuration in an XML document.</p>
<p>What is your take ? Does it help to rethink configuration as a DSL ? What is your experience ?</p>]]></content:encoded>
         <category>Design</category>
      </item>
      <item>
         <title>The law of two feet</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/07/22/the-law-of-two-feet/</link>
         <description>Today I am starting a new job. Different company, different title, similar role. So I thought I would try to describe why I am moving on.
I am going back to a software vendor I left it a few years ago. I left because I was missing direct contact with the business users. I left because [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=137</guid>
         <pubDate>Wed, 22 Jul 2009 06:30:46 -0700</pubDate>
         <content:encoded><![CDATA[<p>Today I am starting a new job. Different company, different title, similar role. So I thought I would try to describe why I am moving on.</p>
<p>I am going back to a software vendor I left it a few years ago. I left because I was missing direct contact with the business users. I left because I felt I had reached the limits of my influence and growth there. I am going back because I am given a great opportunity both in terms of career and personal development. I have a chance to further the changes I helped introduce back then. I get a chance to apply innovative solutions. That is the bottom line for me. In my previous role, despite all the great people I met and worked with I was not getting to apply innovative solutions. And therefore I was not learning as much as I would have liked. This is the deep reason why I felt dissatisfied. The other elements that took part in my decision were only the back breaking straws.</p>
<p>In fact I strongly believe turnover is beneficial for companies and employees alike in the software engineering world. As long as the turnover aligns with project duration it is not overly destabilising. The company gets to hire new people with fresh ideas. The employee gets to learn new things. I wonder if knowledge workers could be classified in the same way as <a rel="nofollow" target="_blank" href="http://bayapln.org/index.php?option=com_content&amp;task=view&amp;id=68&amp;Itemid=25">open space</a> participants: pigs, bees and butterflies.</p>
<p>What do you think ? What kind of worker are you ?</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>Multitasking</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/07/31/multitasking/</link>
         <description>Last week the Bay APLN had a great meeting where Chris Sims offered some of his agile learning games. The games offered the opportunity to feel and illustrate what has long been published (and is still thoroughly ignored by a large chunk of managers and workers). The first game we played was to illustrate the [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=139</guid>
         <pubDate>Fri, 31 Jul 2009 11:09:47 -0700</pubDate>
         <content:encoded><![CDATA[<p>Last week the Bay APLN had a great <a rel="nofollow" target="_blank" href="http://bayapln.org/index.php?option=com_content&amp;task=view&amp;id=69&amp;Itemid=35">meeting</a> where <a rel="nofollow" target="_blank" href="http://agilelearninglabs.com/">Chris Sims</a> offered some of his agile learning games. The games offered the opportunity to feel and illustrate what has long been published (and is still thoroughly ignored by a large chunk of managers and workers). The first game we played was to illustrate the effects of multitasking. I have come to realise two things at the end of the game.</p>
<p>First what we call multitasking really is an interruption driven work process. That process is a consequence of our overall work organisation. Instead of having cadence, we usually expedite. THe way we expedite is also grounded in the idea that we should not be idle and we should be &#8220;utilised&#8217; all the time.</p>
<p>Second the downside of multitasking really is the time it takes to resume a task after an interruption. It is a set up time or a transaction cost.</p>
<p>A couple of things were illustrated. I offered that the <a rel="nofollow" target="_blank" href="http://www.pomodorotechnique.com/">pomodoro technique</a> was a great help to handle multitasking. Essentially the pomodoro technique provides cadence and thereby suppresses the interruption driven work style. In exchange it provides predictable windows to address urgent requests. In this way it forces triage between urgent and not urgent while preserving the ability to adapt the work stream. It also enforces the idea that it is good to have idle time. Other signalling techniques were offered to prevent interruptions.</p>
<p>It was interesting to witness that the default attitude we had to resolve the problem of interruptions was to increase the batch sizes to avoid them. Essentially the same idea as reducing the set-up time in the industry. Importantly the discussion turned to techniques to reduce the transaction cost (context switching time) associated to multiple tasks. This is the realm of getting things done techniques (to-do lists to boot). One interesting remark from <a rel="nofollow" target="_blank" href="http://www.outformations.com/Who_We_Are/Our_People.html">David Chilcott</a> is to note down the next step in your current task before switching to another task.</p>
<p>To summarise, multitasking is good. Interruption is evil.</p>
<p>What techniques do you use to cope with interruptions ? What do you do to facilitate context switching ?</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>Proud supporter of César Idrovo for the Agile Alliance Board Elections</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/08/18/proud-supporter-of-cesar-idrovo-for-the-agile-alliance-board-elections/</link>
         <description>César has been a good friend and a great mentor for me. He is resourceful, dynamic and energetic. As it happens he has also contributed ideas and comments to this blog.
If you do have a vote in the 2009 Agile Alliance board election, please take a moment to review César&amp;#8217;s position statement and then vote, [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=141</guid>
         <pubDate>Tue, 18 Aug 2009 08:39:28 -0700</pubDate>
         <content:encoded><![CDATA[<p>César has been a good friend and a great mentor for me. He is resourceful, dynamic and energetic. As it happens he has also contributed ideas and comments to this blog.</p>
<p>If you do have a vote in the 2009 Agile Alliance board election, please take a moment to review César&#8217;s <a rel="nofollow" target="_blank" href="http://www.cesaridrovo.com/Agile/Nomination.html">position statement</a> and then vote, for him preferably !</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>When Agile process is too much process</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/08/30/when-agile-process-is-too-much-process/</link>
         <description>Some organisations, or parts thereof, have a development process that lives squarely in chaos. Worse, many members of those organisations believe it is a normal, sometimes even desirable, state. The others have left.
What I have noticed in those environments is that new techniques and technologies do not get adopted. Instead a passive-agressive attitude exists, whereby [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=143</guid>
         <pubDate>Sat, 29 Aug 2009 19:12:05 -0700</pubDate>
         <content:encoded><![CDATA[<p>Some organisations, or parts thereof, have a development process that lives squarely in chaos. Worse, many members of those organisations believe it is a normal, sometimes even desirable, state. The others have left.</p>
<p>What I have noticed in those environments is that new techniques and technologies do not get adopted. Instead a passive-agressive attitude exists, whereby the change is not supported and when things degrade people are quick to use it as proof their old familiar ways are superior. Any attempt to introduce any kind of methodology that is &#8220;not invented here&#8221; is doomed in this context. I am quite convinced that any change is actually doomed. I may get the opportunity to observe this in the introduction of a &#8220;waterfall&#8221; process in my current company.</p>
<p>Worse however, while many would think that an agile methodology is more appropriate for those organisations (and they are probably right), it is almost impossible to successfully introduce it. In most cases members of the organisation lack the practice of self discipline necessary to support an agile process. And building that requires in turn a full cultural change where, initially at least, the disciplined application of good practices is valued more than the result.</p>
<p>How would you go about it if you are not the CEO ? Do you have gardener&#8217;s tip to successfully grow agile seeds ?</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>Creating our Kanban process – Stages and Queues</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/09/05/creating-our-kanban-process-stages-and-queues/</link>
         <description>Inspired by the work of the Limited WIP Society and kanban community, I set on my journey to create my very own kanban process for my team of me and my subject matter expert/product manager/QA.
First we identified the stages and queues of our development process. We decided that the process starts with the Analysis of [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=145</guid>
         <pubDate>Sat, 05 Sep 2009 08:37:47 -0700</pubDate>
         <content:encoded><![CDATA[<p>Inspired by the work of the <a rel="nofollow" target="_blank" href="http://www.limitedwipsociety.org/">Limited WIP Society</a> and kanban community, I set on my journey to create my very own kanban process for my team of me and my subject matter expert/product manager/QA.</p>
<p>First we identified the stages and queues of our development process. We decided that the process starts with the Analysis of a work item. To be quite honest some informal analysis and some preparation work to clear out dependencies takes place before that but we did not formally include it in our process. Most of it is tracked at the road map level. The analysis yields one card, trimmed to a manageable size with the acceptance criteria expressed as a few BDD-style scenarii.</p>
<p>Then there is an Analysis Complete queue. It buffers developers.</p>
<p>Then there is the development in progress stage where cards are again actively worked on. We try to follow best practices for the most part. A card cannot leave this stage until the tests pass, the reports are fine (no cyclic dependencies, no significant PMD or FindBugs warnings, enough coverage) and the acceptance scenarii have been automated with <a rel="nofollow" target="_blank" href="http://cukes.info/">cucumber</a> (and the awesome <a rel="nofollow" target="_blank" href="http://wiki.github.com/aslakhellesoy/cuke4duke">cuke4duke</a> maven plugin).</p>
<p>Then there is a development complete queue. It buffers QA.</p>
<p>Then there is the QA in progress stage. This is about verifying the scenarii manually and verifying their automation. Any issue or concern raised is immediately addressed. If the issue needs tracking, an issue card is created and attached to the card.</p>
<p>Then there is the closed stage which is the exit of our process.</p>
<p>We do not track statistics internal to the process aside from the cumulative flow diagram. The administrative cost of that seems too high for such a small team. We do track the cycle time of each card in our process.</p>
<p>I will write more on the observations from the first month in an upcoming post.</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>Actuals considered evil</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/09/16/actuals-considered-evil/</link>
         <description>I have heard and participated in a lot of conversations recently about tracking the time actually taken to complete a card. This is usually imposed to the team by management. I have never seen a team interested in how much time they actually spent on a work item. What are the reasons to track actuals [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=149</guid>
         <pubDate>Tue, 15 Sep 2009 19:10:42 -0700</pubDate>
         <content:encoded><![CDATA[<p>I have heard and participated in a lot of conversations recently about tracking the time actually taken to complete a card. This is usually imposed to the team by management. I have never seen a team interested in how much time they actually spent on a work item. What are the reasons to track actuals ?</p>
<p>The first reason is to track how people spend their time. The idea behind it is usually that you cannot trust people to work hard. And that may be true in some contexts. However, the same people who distrust people&#8217;s work ethics entrust them with gathering the data. And so they essentially get the ideal values randomly adjusted so that they look real. While this is a useful practice at a personal level (see the <a rel="nofollow" target="_blank" href="http://www.pomodorotechnique.com/">pomodoro technique</a> for instance), at a team level it really comes from the &#8216;look busy&#8217; frame of mind. Throughput should be the thing management cares about.</p>
<p>The second reason is to try to get better at estimating. So managers want to try actuals and compare them to estimates. And then if the actuals do not match the estimates put pressure on the team to get better estimates. So for those of you who believe in that, here is what happens. Developers will start by padding their estimate so that they are pretty sure the actuals won&#8217;t exceed the estimate. Second, remember you hired them because they are smart, so they will never finish early to avoid the suspicion of padding. So you will get perfect detailed estimates and still the project will be late. And if, being clever yourself, you cut the estimates and people do not have time to finish within the estimate, then they will cut corners, drop quality and finish within the estimates anyway. And the project will be late because of those bugs that need to be fixed. By the way did you know that the best estimation is usually at a coarse grain level because then errors tend to offset each other ?</p>
<p>The third less harmful reason for tracking actuals is to improve the time forecast. This is essentially a statistical use by we try to measure the relationship between ideal days (or points, or size) and actual days. Even with this innocuous goal it is a waste of time. First the information is already available in the burn up (or down) chart. Second it tends to be wrong because early in a project there is not enough data to make it statistically relevant and later in a project chances are circumstances have changed (personnel, techniques, technology may have changed, technical debt may becoming a burden etc).</p>
<p>So why waste time and moral on actuals ? Even better, once you abandon actuals, precise estimates become irrelevant and you can get away with relative sizes. And relative sizes are very quick and easy to get consensus on and you therefore save time that too. So please abandon the collection of actual times !</p>]]></content:encoded>
      </item>
      <item>
         <title>Agile Styles</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/09/24/agile-transition-styles/</link>
         <description>A very stimulating talk again yesterday at the BayAPLN meeting by Joshua Kerievsky. The talk was about &amp;#8220;The Art of Choosing an Agile Transition Style&amp;#8221; and was based on an analogy between painting and Agile Transitions.
I am not sure I fully buy into the analogy of painting style to agile transition style. I actually feel [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=153</guid>
         <pubDate>Wed, 23 Sep 2009 20:13:39 -0700</pubDate>
         <content:encoded><![CDATA[<p>A very stimulating talk again yesterday at the BayAPLN meeting by Joshua Kerievsky. The talk was about &#8220;The Art of Choosing an Agile Transition Style&#8221; and was based on an analogy between painting and Agile Transitions.</p>
<p>I am not sure I fully buy into the analogy of painting style to agile transition style. I actually feel the painting style is more useful as an analogy for the practice style (rather than transition only). And that is what was actually talked about most of the time.</p>
<p>A specific point sticked out during the talk and in the questions for which no good answer was articulated. It stemmed from the remark that the creators and masters of new styles (impressionism, cubism, expressionism) had a classic (baroque) training and were perfectly able to paint in that style. And so the question came of how much knowledge do people need to know about the pre-existing styles before being able to apply more modern style.</p>
<p>I think the question is best answered by making a distinction between technique and style. The impressionists were all trained in the techniques that supported the baroque style. And this knowledge enabled them to create new techniques, experiment with them and then give rise to new styles. In this case the style emerges from the techniques that are applied to the art. Obviously, once the technique is created it can be taught and the student of that technique can then paint in the new styles. The deeper their technical knowledge the more styles they have available to express their art or satisfy their patrons.</p>
<p>And the lesson I take out of this is that to apply agile in various environments one has to be well versed in all the techniques that exist to successfully select the ones that will support the desired style. It seems to indicate also that to successfully transition from one style to another one needs a good understanding of the techniques and aspirations that created the old style in addition to knowing the techniques that will support the new style.</p>
<p>Stimulating is it not ?</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>Two months of Lean</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/10/06/two-months-of-lean/</link>
         <description>It has been two months since we set on the Kanban journey. It is time to make a few observations.
First it is very hard to fight the urge of piling more work in our queues. We have too many ideas, many of them looking good enough that we would like to record them. It is [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=157</guid>
         <pubDate>Tue, 06 Oct 2009 09:54:31 -0700</pubDate>
         <content:encoded><![CDATA[<p>It has been two months since we set on the <a rel="nofollow" target="_blank" href="http://digitalbrikes.com/onebrikeatatime/2009/09/05/creating-our-kanban-process-stages-and-queues/">Kanban journey</a>. It is time to make a few observations.</p>
<p>First it is very hard to fight the urge of piling more work in our queues. We have too many ideas, many of them looking good enough that we would like to record them. It is a conscious effort to resist this and remind ourselves that, if these ideas are good they will either resurface coming from stake holders or we will remember them. If not, chances are we would not find them in a laundry list anyway.</p>
<p>Second it was enlightening to notice how small stories and short cycle time is energising. Short cycle times give an incredible impression of control over the process. They are also morale boosters as progress is continuous. Now this contrasts significantly with a longer story we played recently, which incidentally could have been broken down. That story gave the feeling of a squid, a temporary loss of control. Your vision becomes a tunnel, you lose peripheral vision and you hope that this will all end well. In the future we will proactively split stories and we will have to resolve the challenge of possibly breaking our WIP limit.</p>
<p>Third we got to experience how cycle and lead times are impacted when the bottleneck (me sadly) is loaded with additional work. We have this inconvenient position where we should reuse code that is in no shape to be reused and therefore needs to be cautiously refactored. That work cannot progress at the speed we move so we have to somewhat duplicate it while we work towards a good solution. Last month I had a green light to make one of the changes and did it. But this is additional work that has increased the lead time and cycle time without direct value to the project. In effect the project is working pro-bono for the rest of the firm. The positive about this is that the effect is immediately visible. In the future we will track this kind of work as issues.</p>
<p>Third, my coworker and subject matter expert was enlightened by <a rel="nofollow" target="_blank" href="http://www.limitedwipsociety.org/2009/05/27/feature-injection/">Chris Matts&#8217; cartoons</a>. He did not use to understand how Agile in general and our own process in particular can be so efficient in the financial software industry. The Agile 2009 cartoon was an important stepping stone for his &#8220;conversion&#8221;.</p>
<p>How do you record ideas without piling them ? Do you have advice on how to handle external work ? How do you handle back-flow into limited size queues ? </p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>LIfe without a backlog</title>
         <link>http://digitalbrikes.com/onebrikeatatime/2009/10/13/life-without-a-backlog/</link>
         <description>Backlog is not part of our process anymore. Our process starts with analysis and ends with done. This is a deliberate choice, a choice we always have to remember we made because it is so easy to go back to dumping every single idea into a card and accumulate an enormous backlog that then has [...]</description>
         <guid isPermaLink="false">http://digitalbrikes.com/onebrikeatatime/?p=159</guid>
         <pubDate>Tue, 13 Oct 2009 16:04:33 -0700</pubDate>
         <content:encoded><![CDATA[<p>Backlog is not part of our process anymore. Our process starts with analysis and ends with done. This is a deliberate choice, a choice we always have to remember we made because it is so easy to go back to dumping every single idea into a card and accumulate an enormous backlog that then has to be prioritised, estimated, trimmed. We also operate without a bug list, at least so far. I have already blogged about the <a rel="nofollow" target="_blank" href="http://digitalbrikes.com/onebrikeatatime/2009/02/26/bug-management-stop-the-line/">advantages of that</a>.</p>
<p><strong>How do we plan then ?</strong></p>
<p>We use a roadmap. The shorter the horizon, the more fine grained. I use a template from enthiosys. We record functional and architectural goals on it. We record events (demos, vacations, code freezes). We also record our target markets. The roadmap has a lot of white space. Not all categories have something at every time horizons. What this means however is that we implicitly estimate when features will be completed from a very high level. This in turn gives us a lot of room to adjust what we actually deliver using dimensional planning. When we need to decide what we do next we use our roadmap and we usually make the decision in a few seconds. That is when the analysis work starts that will cut a workable story. What does not fit in the story is not recorded but will probably resurface on the next round, informed by what we learned while playing the previous story.</p>
<p><strong>What about the product vision ?</strong></p>
<p>We have from the beginning created a set of documents that we keep current. One is a contextual diagram that shows how this kind of product generally fits in our clients&#8217; processes. Another one shows how it fits in the software the company produces (which is a much larger thing). Finally we have a diagram that outlines the end state of our product with a broad view of the functions we want to build. The roadmap takes over from this high level vision with a time horizon of a year or so. In addition we have an architectural context and a domain model established before we start on a functional area.</p>
<p><strong>What&#8217;s the catch ?</strong></p>
<p>There are several things that make this possible. First we are a very small team (one developer, one BA/QA). We both have a significant expertise in the domain and in that specific product. This process can certainly scale beyond that size but I am not sure how much. Second, we were hired to build that product and therefore we have a lot more control over how we manage things. We also do not have existing clients or contractually agreed scope to deal with.</p>
<p><strong>What are the advantages ?</strong></p>
<p>Primarily we removed many of the things that generate pain in a software development process. No estimates means no actuals (<a rel="nofollow" target="_blank" href="http://digitalbrikes.com/onebrikeatatime/2009/09/16/actuals-considered-evil/">more on this</a>). No backlog makes it very cheap to rearrange our priorities. No detailed long term plan means we do not have the temptation to adhere to it. Instead we reshape the plan constantly to reflect the new information we acquire. Finally all of this provides us with the material to efficiently communicate with our prospects and clients. We show enough structure that they easily understand where we are going and at the same time we have enough flexibility to incorporate their feedback in our plan. And the same thing applies to communication with upper management.</p>
<p>That is a short presentation of how we (so far happily) operate. What is your experience like ? Have you tried similar things ? Or other things ? How did they work out ?</p>]]></content:encoded>
         <category>Agile</category>
      </item>
      <item>
         <title>Floyd Marinescu (InfoQ/QCon)</title>
         <link>http://www.flickr.com/photos/diathesis/1907667738/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/1907667738/&quot; title=&quot;Floyd Marinescu (InfoQ/QCon)&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2327/1907667738_c59b302cf3_m.jpg&quot; width=&quot;189&quot; height=&quot;240&quot; alt=&quot;Floyd Marinescu (InfoQ/QCon)&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Panel: Architecting for Performance and Scalability&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/1907667738</guid>
         <pubDate>Wed, 07 Nov 2007 12:10:50 -0800</pubDate>
         <media:content width="2036" url="http://farm3.static.flickr.com/2327/1907667738_affc115010_o.jpg" type="image/jpeg" height="2590"/>
         <media:title>Floyd Marinescu (InfoQ/QCon)</media:title>
         <media:description>&amp;lt;p&amp;gt;Panel: Architecting for Performance and Scalability&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2327/1907667738_c59b302cf3_s.jpg" height="75"/>
         <media:category>sanfrancisco california canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Nati Shalom (GigaSpaces)</title>
         <link>http://www.flickr.com/photos/diathesis/1907696252/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/1907696252/&quot; title=&quot;Nati Shalom (GigaSpaces)&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2245/1907696252_1d6bcc3a15_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Nati Shalom (GigaSpaces)&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Panel: Architecting for Performance and Scalability&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/1907696252</guid>
         <pubDate>Wed, 07 Nov 2007 12:13:21 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2245/1907696252_cac6270b59_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Nati Shalom (GigaSpaces)</media:title>
         <media:description>&amp;lt;p&amp;gt;Panel: Architecting for Performance and Scalability&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2245/1907696252_1d6bcc3a15_s.jpg" height="75"/>
         <media:category>sanfrancisco california canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>The Palace</title>
         <link>http://www.flickr.com/photos/diathesis/2067248991/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2067248991/&quot; title=&quot;The Palace&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2389/2067248991_c73da4c565_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;The Palace&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2067248991</guid>
         <pubDate>Mon, 26 Nov 2007 20:45:18 -0800</pubDate>
         <media:content width="3076" url="http://farm3.static.flickr.com/2389/2067248991_31ceba2a60_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>The Palace</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2389/2067248991_c73da4c565_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Clock Tower</title>
         <link>http://www.flickr.com/photos/diathesis/2067253829/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2067253829/&quot; title=&quot;Clock Tower&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2225/2067253829_811af11c46_m.jpg&quot; width=&quot;240&quot; height=&quot;173&quot; alt=&quot;Clock Tower&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2067253829</guid>
         <pubDate>Mon, 26 Nov 2007 20:47:30 -0800</pubDate>
         <media:content width="3197" url="http://farm3.static.flickr.com/2225/2067253829_e13bdc59fd_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>Clock Tower</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2225/2067253829_811af11c46_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Bay Bridge at Dusk</title>
         <link>http://www.flickr.com/photos/diathesis/2067259885/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2067259885/&quot; title=&quot;Bay Bridge at Dusk&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2414/2067259885_767c36c74c_m.jpg&quot; width=&quot;156&quot; height=&quot;240&quot; alt=&quot;Bay Bridge at Dusk&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2067259885</guid>
         <pubDate>Mon, 26 Nov 2007 20:50:11 -0800</pubDate>
         <media:content width="2244" url="http://farm3.static.flickr.com/2414/2067259885_70559c6802_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Bay Bridge at Dusk</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2414/2067259885_767c36c74c_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>The Downward Spiral</title>
         <link>http://www.flickr.com/photos/diathesis/2068052518/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2068052518/&quot; title=&quot;The Downward Spiral&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2302/2068052518_1eadf73e6e_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;The Downward Spiral&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2068052518</guid>
         <pubDate>Mon, 26 Nov 2007 20:49:02 -0800</pubDate>
         <media:content width="3456" url="http://farm3.static.flickr.com/2302/2068052518_a2c01fc9bf_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>The Downward Spiral</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2302/2068052518_1eadf73e6e_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Starlite</title>
         <link>http://www.flickr.com/photos/diathesis/2068059318/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2068059318/&quot; title=&quot;Starlite&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2220/2068059318_3c29ad4e80_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Starlite&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2068059318</guid>
         <pubDate>Mon, 26 Nov 2007 20:52:00 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2220/2068059318_607e05b259_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Starlite</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2220/2068059318_3c29ad4e80_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Hobart Building</title>
         <link>http://www.flickr.com/photos/diathesis/2068063086/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2068063086/&quot; title=&quot;Hobart Building&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2061/2068063086_4c34e651da_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Hobart Building&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2068063086</guid>
         <pubDate>Mon, 26 Nov 2007 20:53:40 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2061/2068063086_750409d202_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Hobart Building</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2061/2068063086_4c34e651da_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Lego Hypothesis</title>
         <link>http://www.flickr.com/photos/diathesis/2106095817/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2106095817/&quot; title=&quot;Lego Hypothesis&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2185/2106095817_b78aa6781d_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Lego Hypothesis&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;James Noble giving the 'Lego Hypothesis' keynote.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2106095817</guid>
         <pubDate>Wed, 12 Dec 2007 16:35:43 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2185/2106095817_ef5feebcd8_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Lego Hypothesis</media:title>
         <media:description>&amp;lt;p&amp;gt;James Noble giving the 'Lego Hypothesis' keynote.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2185/2106095817_b78aa6781d_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Architect for Latency</title>
         <link>http://www.flickr.com/photos/diathesis/2106873918/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2106873918/&quot; title=&quot;Architect for Latency&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2188/2106873918_12b5759e40_m.jpg&quot; width=&quot;195&quot; height=&quot;240&quot; alt=&quot;Architect for Latency&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Dan Pritchett giving the 'Architect for Latency' talk.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2106873918</guid>
         <pubDate>Wed, 12 Dec 2007 16:34:40 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2188/2106873918_465539317c_o.jpg" type="image/jpeg" height="2830"/>
         <media:title>Architect for Latency</media:title>
         <media:description>&amp;lt;p&amp;gt;Dan Pritchett giving the 'Architect for Latency' talk.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2188/2106873918_12b5759e40_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Getting Started with Grails</title>
         <link>http://www.flickr.com/photos/diathesis/2106097515/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2106097515/&quot; title=&quot;Getting Started with Grails&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2059/2106097515_735cd834c6_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Getting Started with Grails&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Jason Rudolph giving the 'Getting Started with Grails' talk. You can see a little of how he's wired up for sound, as well.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2106097515</guid>
         <pubDate>Wed, 12 Dec 2007 16:36:27 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2059/2106097515_c3cb08669c_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Getting Started with Grails</media:title>
         <media:description>&amp;lt;p&amp;gt;Jason Rudolph giving the 'Getting Started with Grails' talk. You can see a little of how he's wired up for sound, as well.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2059/2106097515_735cd834c6_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt canonef50mmf14usm ef50mmf14usm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Jean-Luc Vaillant</title>
         <link>http://www.flickr.com/photos/diathesis/2115570561/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115570561/&quot; title=&quot;Jean-Luc Vaillant&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2416/2115570561_68c4431dd0_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Jean-Luc Vaillant&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Doing a session on the architecture of LinkedIn.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2115570561</guid>
         <pubDate>Sun, 16 Dec 2007 14:22:03 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2416/2115570561_7d35cac5af_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Jean-Luc Vaillant</media:title>
         <media:description>&amp;lt;p&amp;gt;Doing a session on the architecture of LinkedIn.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2416/2115570561_68c4431dd0_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Josh Susser</title>
         <link>http://www.flickr.com/photos/diathesis/2115574361/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115574361/&quot; title=&quot;Josh Susser&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2228/2115574361_fbca9f8eb6_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Josh Susser&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2115574361</guid>
         <pubDate>Sun, 16 Dec 2007 14:23:35 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2228/2115574361_88d0b04d62_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Josh Susser</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2228/2115574361_fbca9f8eb6_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Charles Nutter</title>
         <link>http://www.flickr.com/photos/diathesis/2115578333/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115578333/&quot; title=&quot;Charles Nutter&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2027/2115578333_b13a876dbf_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Charles Nutter&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2115578333</guid>
         <pubDate>Sun, 16 Dec 2007 14:25:14 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2027/2115578333_672c2fbd4e_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Charles Nutter</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2027/2115578333_b13a876dbf_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Obie Fernandez</title>
         <link>http://www.flickr.com/photos/diathesis/2115583205/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115583205/&quot; title=&quot;Obie Fernandez&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2278/2115583205_c8b9d0e951_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Obie Fernandez&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2115583205</guid>
         <pubDate>Sun, 16 Dec 2007 14:27:09 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2278/2115583205_8095b92f35_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Obie Fernandez</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2278/2115583205_c8b9d0e951_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Ola Bini</title>
         <link>http://www.flickr.com/photos/diathesis/2116366050/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2116366050/&quot; title=&quot;Ola Bini&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2265/2116366050_ce993f2867_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Ola Bini&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/2116366050</guid>
         <pubDate>Sun, 16 Dec 2007 14:28:17 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2265/2116366050_227469296c_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Ola Bini</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2265/2116366050_ce993f2867_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>IMG_3636</title>
         <link>http://www.flickr.com/photos/aaronyuen/1898415460/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/aaronyuen/&quot;&gt;Aaron Yuen&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/aaronyuen/1898415460/&quot; title=&quot;IMG_3636&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2078/1898415460_8b8a48c940_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;IMG_3636&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
         <author>nobody@flickr.com (Aaron Yuen)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/1898415460</guid>
         <pubDate>Tue, 06 Nov 2007 21:41:54 -0800</pubDate>
         <media:content width="2592" url="http://farm3.static.flickr.com/2078/1898415460_ecdb060f8e_o.jpg" type="image/jpeg" height="1944"/>
         <media:title>IMG_3636</media:title>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2078/1898415460_8b8a48c940_s.jpg" height="75"/>
         <media:category>events eventsqconsf07</media:category>
         <media:credit>Aaron Yuen</media:credit>
      </item>
      <item>
         <title>IMG_3640</title>
         <link>http://www.flickr.com/photos/aaronyuen/1919948275/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/aaronyuen/&quot;&gt;Aaron Yuen&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/aaronyuen/1919948275/&quot; title=&quot;IMG_3640&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2135/1919948275_8653b8f235_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;IMG_3640&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;San Fran... Grant st...&lt;/p&gt;</description>
         <author>nobody@flickr.com (Aaron Yuen)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/1919948275</guid>
         <pubDate>Thu, 08 Nov 2007 08:54:58 -0800</pubDate>
         <media:content width="2592" url="http://farm3.static.flickr.com/2135/1919948275_68ee09e5e0_o.jpg" type="image/jpeg" height="1944"/>
         <media:title>IMG_3640</media:title>
         <media:description>&amp;lt;p&amp;gt;San Fran... Grant st...&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2135/1919948275_8653b8f235_s.jpg" height="75"/>
         <media:category>events eventsqconsf07</media:category>
         <media:credit>Aaron Yuen</media:credit>
      </item>
      <item>
         <title>IMG_3642</title>
         <link>http://www.flickr.com/photos/aaronyuen/1919965161/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/aaronyuen/&quot;&gt;Aaron Yuen&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/aaronyuen/1919965161/&quot; title=&quot;IMG_3642&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2034/1919965161_8d9ab8b845_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;IMG_3642&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;San Francisco&lt;/p&gt;</description>
         <author>nobody@flickr.com (Aaron Yuen)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/1919965161</guid>
         <pubDate>Thu, 08 Nov 2007 08:56:35 -0800</pubDate>
         <media:content width="2592" url="http://farm3.static.flickr.com/2034/1919965161_5d1601ad2e_o.jpg" type="image/jpeg" height="1944"/>
         <media:title>IMG_3642</media:title>
         <media:description>&amp;lt;p&amp;gt;San Francisco&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2034/1919965161_8d9ab8b845_s.jpg" height="75"/>
         <media:category>events eventsqconsf07</media:category>
         <media:credit>Aaron Yuen</media:credit>
      </item>
      <item>
         <title>Jutta Eckstein</title>
         <link>http://www.flickr.com/photos/aaronyuen/1928468128/in/pool-538780@N20</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/aaronyuen/&quot;&gt;Aaron Yuen&lt;/a&gt; has added a photo to the pool:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/aaronyuen/1928468128/&quot; title=&quot;Jutta Eckstein&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2095/1928468128_9aa5fefc3a_m.jpg&quot; width=&quot;240&quot; height=&quot;180&quot; alt=&quot;Jutta Eckstein&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
         <author>nobody@flickr.com (Aaron Yuen)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/grouppool/538780@N20/photo/1928468128</guid>
         <pubDate>Thu, 08 Nov 2007 20:56:17 -0800</pubDate>
         <media:content width="2048" url="http://farm3.static.flickr.com/2095/1928468128_7d5a535619_o.jpg" type="image/jpeg" height="1536"/>
         <media:title>Jutta Eckstein</media:title>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2095/1928468128_9aa5fefc3a_s.jpg" height="75"/>
         <media:category>events eventsqconsf07</media:category>
         <media:credit>Aaron Yuen</media:credit>
      </item>
      <item>
         <title>Gladwellian Christmas Tipping Point</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/gladwellian-christmas-tipping-point.html</link>
         <description>&lt;div&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.vanityfair.com/culture/features/2009/12/gladwell-200912&quot;&gt;Malcolm Gladwell explains Christmas&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
He is grotesquely overweight. He is childless. He lives in the chilly and undesirable North Pole. He insists on dressing in a bright-red jumpsuit with fur trimmings. He can only ever find employment on one day a year, and, even then, it is night work.
&lt;p&gt;
On every accepted level, Santa Claus is a total loser.
&lt;/p&gt;&lt;p&gt;
Yet this is a man who heads up a brand that commands 98 percent global recognition. Furthermore, he is universally adored.
&lt;/p&gt;&lt;p&gt;
How does he do it?&lt;br /&gt;
In a controlled research investigation involving uninterrupted surveillance videotaping, a sustained loop of twinkly music, and state-of-the-art merriness-determination equip ment, a Dutch santologist named Hans Bunquum discovered the secret to Claus’s phenomenal success.
&lt;/p&gt;&lt;p&gt;
“The conclusion is both remarkable and inescapable but also—most importantly—counter-intuitive,” Dr. Bunquum told me over a glass of organic lemonade in his stunn ing waterstulp, or waterside studio, near Rotterdam. “To become the object of universal love, one must first live with a red-nosed rein deer, and then gain a premier position as the sole registered employer of elves in the Northern Hemisphere. It’s as simple as that.”
&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e201287578ce76970c</guid>
         <pubDate>Tue, 10 Nov 2009 13:56:37 -0800</pubDate>
      </item>
      <item>
         <title>Scratcherific</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/scratcherific.html</link>
         <description>&lt;div&gt;&lt;p&gt;My friend Franco Travostino &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.thingsthatscale.com/2009/11/teach-programming/&quot;&gt;calls&lt;/a&gt; Mitch Resnick &quot;the Steve Jobs of the under age computer human interface&quot;, since my kids started building programs in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://scratch.mit.edu/&quot;&gt;Scratch&lt;/a&gt; last year, I've been gobsmacked by how powerful, expressive and drop dead simple to use Scratch is.&amp;#0160;&lt;/p&gt; &lt;p&gt;Besides the ridiculously easy to program environment, there's at least one other major difference in how Scratch approaches programming and how programming is typically taught.&amp;#0160;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dehora.net/journal/&quot;&gt;Bill de hÓra&lt;/a&gt; recently mentioned this disctintion&lt;/p&gt;
&lt;blockquote&gt;
Applications traditionally changed faster than relational data, but social data changes faster than applications
&lt;/blockquote&gt;This is quite a different way from how we typically approached building applications, now there is another dynamic layer (social data) on top of the app, Scratch is built from the get go to be remixed across applications, users and projects. Another win for the digital natives. &amp;#0160;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e201287578d731970c</guid>
         <pubDate>Tue, 10 Nov 2009 14:10:36 -0800</pubDate>
      </item>
      <item>
         <title>Loss Aversion Learning from WSOP</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/loss-aversion-learning-from-wsop.html</link>
         <description>&lt;div&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://1raindrop.typepad.com/.a/6a00d83451c75869e20120a678e62a970b-pi&quot; style=&quot;float:left;&quot;&gt;&lt;img alt=&quot;Phil_Hellmuth&quot; class=&quot;asset asset-image at-xid-6a00d83451c75869e20120a678e62a970b &quot; src=&quot;http://1raindrop.typepad.com/.a/6a00d83451c75869e20120a678e62a970b-120wi&quot; style=&quot;margin:0px 5px 5px 0px;&quot;/&gt;&lt;/a&gt;Held each year, The World Series of Poker is a big deal, in 2009 there were over 60,000 people competing for $174 million.&lt;/p&gt; &lt;br /&gt;&lt;p&gt;Now, poker, like security and business in general is a game of imperfect information and limited visibility. Also, like the other domains, winning is good.&amp;#0160;&lt;/p&gt;&lt;p&gt;Here is the thing though- professional poker players, who presumably understand the game the best, have not won the WSOP since 2001. And its not just that they don't win, they typically don't even make the final table of nine players. This year there was one pro, Phil Ivey, who made the final table of nine; Phil Ivey is generally regarded as the pro's pro, the best poker player in the world. He lost. Should we be surprised by this?&lt;/p&gt; &lt;br /&gt;&lt;p&gt;Item: &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.azstarnet.com/sn/byauthor/302625&quot;&gt;Safe Moves Don't Win Tournaments&lt;/a&gt;&quot; by Phil Hellmuth (emphasis added)&lt;/p&gt;
&lt;blockquote&gt;
&quot;This year's World Series of Poker was a great event. I played roughly 10 hours of poker per day for six weeks straight. At the end, I was disappointed with my game, although my friends tell me that my six cashes and deep run in the Main Event made for a successful run.
...&amp;#0160;&lt;/blockquote&gt;&lt;blockquote&gt;I constantly questioned my own game: What plays worked that I could use the next day? How could I improve my play tomorrow? In one no-limit Hold'em tournament, I lost two coin flips and missed a few opportunities along the way; I was both unlucky and disappointed in my play.&amp;#0160;&lt;/blockquote&gt;&lt;blockquote&gt;Late in Day 2, with the blinds at $6,000/$12,000, I folded hands more than a few times on the button. In retrospect, a better strategy would have been to play more aggressively, raising when in position to try to steal the blinds, like when the player in the big blind had only $70,000 in chips and I had $250,000. &lt;strong&gt;Instead of making a big raise, say $50,000 from the button, I folded my hand. That's not how you win tournaments!&amp;#0160;
&lt;/strong&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Another time, I found myself making a big raise with pocket sixes when I was one off the button, and then calling when the $70,000 man, now in the small blind, moved all-in with A-10. It was torture when an ace came on the river and I lost the hand.&amp;#0160;
&lt;/blockquote&gt;&lt;blockquote&gt;Only an hour later, in the big blind, I was again dealt pocket sixes when the player in the small blind moved me all-in. The blinds were 8,000/$16,000 and I had only $80,000 remaining. I called. He showed J-10 and the cards came down Q-4-2-K-A. Another ace on the river to beat me! Ultimately, I was eliminated in 30th place at 1:45 a.m. with only five hands left to play in Day Two.&amp;#0160;
&lt;/blockquote&gt;&lt;blockquote&gt;&lt;strong&gt;Playing only when you have a strong hand, also known as being a slave to the cards, is simply not the way to win tournaments.&lt;/strong&gt; True, this super-tight strategy does give you a great chance to go deep, and that's just what I did.&amp;#0160;
&lt;/blockquote&gt;&lt;blockquote&gt;My goal, however, was to win. I should have tried a few more creative moves along the way, perhaps adding one additional tricky maneuver out of every 25 hands I played.&quot;
&lt;/blockquote&gt; So the pros who understand the game mechanics and how value bets the best, and have the most experience, are actually at a disadvantage to amateurs who are happy to take on risk that either they don't know or don't care exists.&amp;#0160;
&lt;p&gt;The parallels to information security are pretty obvious in that information security professionals spend the bulk of their time thinking about where the risk is and are generally advocating for more risk averse strategies versus say their peers in development and operations who like the non-pro poker player are happier to bet big on weaker hands.&amp;#0160;
&lt;p&gt;In related news over 70% of mutual funds (actively managed by financial pros) underperform the S&amp;amp;P 500 index (which is a free floated index). So the majority of people are literally paying their mutual fund manger to underperform a passive index.
&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e20120a678e6e6970b</guid>
         <pubDate>Wed, 11 Nov 2009 01:22:58 -0800</pubDate>
      </item>
      <item>
         <title>From roads to houses</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/from-roads-to-houses.html</link>
         <description>&lt;div&gt;&lt;p&gt;Some thoughts on Britain's Nanny State from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ft.com/cms/s/0/80b92e0c-d08a-11de-af9c-00144feabdc0.html&quot;&gt;Martin Wolf&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
Video cameras have now become normal on every UK street. They should now be introduced into every house. Some will complain that this oversight over the public would be too intrusive. But those with nothing to hide have no reason to fear the enhanced surveillance. Only the criminally inclined need do so. Surely, everybody would become used to it, in the end, as they have on the roads.&lt;/blockquote&gt;
Monitoring has its place, but as with all things security its really about means and ends&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e2012875a47edd970c</guid>
         <pubDate>Sun, 15 Nov 2009 02:19:10 -0800</pubDate>
      </item>
      <item>
         <title>Vote A6 in 2010</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/vote-a6-in-2010.html</link>
         <description>&lt;div&gt;&lt;p&gt;Stephen O'Grady is first out of the gate with &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://redmonk.com/sogrady/2009/11/12/2010-predictions&quot;&gt;2010 predictions&lt;/a&gt;, and this is a solid one&lt;/p&gt; &lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;Cloud API Proliferation Will Become a Serious Problem&lt;/p&gt; &lt;p&gt;When I meet with cloud providers these days, the default answer to questions about the openness or lackthereof with respect to their software is “we have an open API.” But this is, unquestionably, the wrong answer for customers. It’s not that open APIs are bad, individually: far from it. You’d rather have one than not. But how are customers to manage them as they multiply? Cloud providers should be considering Kant’s Categorical Imperative:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;“Act only according to that maxim whereby you can at the same time will that it should become a universal law.”&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Unsurprisingly, however, they are not. Which means that cloud API proliferation will reach new, frightening heights in the year ahead. Or maybe you want to individually review and compare the APIs as they iterate. Watch the Deltacloud project for traction as a result; platforms with an API compatibility story like Eucalyptus should benefit as well.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;On a semi-related note, I expect IaaS to remain more popular than PaaS for 2010.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;/blockquote&gt; And of course, most of the APIs in question have relatively weak approaches to security; all are incomplete.&amp;#0160;&lt;p&gt;This makes Hoff's &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.rationalsurvivability.com/blog/?p=1533&quot;&gt;announcement&lt;/a&gt; of the new &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://groups.google.com/group/A6WG&quot;&gt;A6 Working Group&lt;/a&gt; all the more relevant, the goals of A6 are as follows:&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;The goal of A6 is simple: to provide a common interface that allows&amp;#0160;providers to automate the Audit, Assertion, Assessment, and Assurance of their environments and allow authorized consumers of their services&amp;#0160;to do likewise via and open, extensible and secure API across SaaS,&amp;#0160;PaaS, and IaaS offerings.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt; This list seems to me to be the most important structural and process concerns to cover initially. I would also vote for rolling it up into a decentralized policy language.&lt;p&gt;While I agree with Stephen O'Grady that the Cloud APIs will sprawl, it does not necessarily mean that security APIs have to as well. All the Cloud APIs can benefit from a consistent interface to security services.&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e2012875ae9389970c</guid>
         <pubDate>Tue, 17 Nov 2009 08:53:10 -0800</pubDate>
      </item>
      <item>
         <title>Hermitage Lawyer Dies in Jail</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/hermitage-lawyer-dies-in-jail.html</link>
         <description>&lt;div&gt;&lt;p&gt;Last year, I blogged about the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://1raindrop.typepad.com/1_raindrop/2008/08/corporate-identity-theft.html&quot;&gt;Corporate Identity Thef&lt;/a&gt;t of the Hermitage Fund's hundreds of millions dollars in Russia. Today, the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ft.com/cms/s/0/8846e0da-d37b-11de-9607-00144feabdc0.html&quot;&gt;FT reports&lt;/a&gt; that Hermitage's 37 year old lawyer died in jail in Russia where he was held for the past year. From &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://online.wsj.com/article/SB125845597654851913.html#mod=todays_us_nonsub_page_one&quot;&gt;WSJ&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style=&quot;font-size:16px;line-height:normal;font-style:italic;&quot;&gt;Sergei Magnitsky, a Russian lawyer working for embattled investment fund Hermitage Capital, died in a Moscow jail after complaining for weeks of being denied adequate medical treatment.&lt;br /&gt;...&lt;br /&gt;Mr. Magnitsky, 37 years old, was jailed nearly a year ago and charged with tax evasion in a case involving Hermitage.&lt;br /&gt;...&lt;br /&gt;&quot;They held him for 11 months, asking him to fabricate testimony against Hermitage,&quot; said Jamison Firestone, managing partner of Firestone Duncan, the Moscow firm where Mr. Magnitsky worked. &quot;The more he refused, the worse his conditions became.&quot; Russian officials have denied those allegations.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt; &lt;p&gt;To learn more about what's happened to Hermitage, this &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.zerohedge.com/article/sad-story-hermitage-capital-management&quot;&gt;video&lt;/a&gt;&amp;#0160;has the play by play.&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e20120a6af77f2970b</guid>
         <pubDate>Wed, 18 Nov 2009 00:54:23 -0800</pubDate>
      </item>
      <item>
         <title>Bring Your Computer to Work Day?</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/bring-your-computer-to-work-day.html</link>
         <description>&lt;div&gt;&lt;p&gt;Great thought piece &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://online.wsj.com/article/SB10001424052748703567204574499032945309844.html&quot;&gt;It's a Free Country....so why can't I pick what technology I use at the office&lt;/a&gt;&quot; :&lt;/p&gt;
&lt;blockquote&gt;
At the office, you've got a sluggish computer running aging software, and the email system routinely badgers you to delete messages after you blow through the storage limits set by your IT department. Searching your company's internal Web site feels like being teleported back to the pre-Google era of irrelevant search results.
&lt;p&gt;
At home, though, you zip into the 21st century. You've got a slick, late-model computer and an email account with seemingly inexhaustible storage space. And while Web search engines don't always figure out exactly what you're looking for, they're practically clairvoyant compared with your company intranet.&lt;/p&gt; &lt;p&gt;
...
Even more galling, especially to tech-savvy workers, is the nanny-state attitude of employers who block access to Web sites, lock down PCs so users can't install software and force employees to use clunky programs. Sure, IT departments had legitimate concerns in the past. Employees would blindly open emails from persons unknown or visit shady Web sites, bringing in malicious software that could crash the network. Then there were cost issues: It was a lot cheaper to get one-size-fits-all packages of middling hardware and software than to let people choose what they wanted.
&lt;/p&gt; &lt;p&gt;
But those arguments are getting weaker all the time. Companies now have an array of technologies at their disposal to give employees greater freedom without breaking the bank or laying out a welcome mat for hackers. &quot;Virtual machine&quot; software, for example, lets companies install a package of essential work software on a computer and wall it off from the rest of the system. So, employees can install personal programs on the machine with minimal interference with the work software.
&lt;/p&gt;&lt;p&gt;...For a look at how sharp the divide between work and home can be, consider my experience. The Wall Street Journal gives me a laptop with Windows XP, an operating system I found satisfying when it came out eight years ago but that lacks a lot of modern touches, like a speedy file-search function. My home computer, meanwhile, is a two-year-old iMac running the Leopard version of Apple's Macintosh operating system. Among other virtues, it's got a search function called Spotlight that lets me track down files in a flash.
&lt;/p&gt;&lt;p&gt;
Or take email. Please. There's a limit on how much email employees can store on the company's system, and I routinely bump into it. So, I need to spend time hunting through old notes in Microsoft Outlook and deciding what to keep and what to delete, or risk a shutdown of my account. I'm not the only one; a colleague told me she often receives messages with large attached files that overload her inbox while she's asleep. That means she can't receive any more mail until she gets into the office in the morning and cleans out her messages.
&lt;/p&gt;&lt;p&gt;
Limits like those are tough to swallow when you consider how generous free email services are. In nearly five years, for instance, I've used only about a quarter of the storage space in my personal Gmail account from Google Inc., despite almost never deleting messages. Furthermore, I can search for old Gmail messages almost instantaneously, while the search function in the email I use for work is painfully slow. &lt;/p&gt; &lt;/blockquote&gt;As the article asks - what century is this anyway?&lt;p&gt;Gary McGraw and Jim Routh recently wrote up some of the security concerns in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.csoonline.com/article/506309/Lifestyle_Hackers&quot;&gt;CSO&lt;/a&gt;, but in infosec we need to balance controlling the downside risk with enterprise top line growth and enablement. Networks are not 100% good or bad.&amp;#0160;&lt;/p&gt; &lt;p&gt;There's a great part of a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://thomaspmbarnett.com/weblog/&quot;&gt;Tom Barnett&lt;/a&gt; talk where he describes how our echo boomers in the military, 19 to 25, over in Iraq taught each other how to do Counter Insurgency work, over the Internet in chat rooms. The military big wigs said you can't do that, &quot;Al Qaeda could be listening!&quot; They said, &quot;Well, Jesus, they already know this stuff. *We* are the ones with the knowledge gap!&quot;&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e2012875b1d59e970c</guid>
         <pubDate>Wed, 18 Nov 2009 01:06:45 -0800</pubDate>
      </item>
      <item>
         <title>Want Security? Get in the Same Boat</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/want-security-get-in-the-same-boat.html</link>
         <description>&lt;div&gt;&lt;p&gt;There are many great lessons in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://download.srv.cs.cmu.edu/~pausch/&quot;&gt;Randy Pausch's&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.thelastlecture.com/&quot;&gt;Last Lecture&lt;/a&gt;, but one of my favorites is this observation, he's talking about a show where the students demonstrate their work on building virtual worlds in front of the audience each year&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;People used to say, you know, what’s going to make for a good world? I said, I can’t tell you beforehand, but right before they present it I can tell you if the world’s good just by the body language. If they’re standing close to each other, the world is good&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;
That is a very important observation and it reminds me of one of my favorite Kent Beck quotes where he says that he&amp;#0160;used to think of programs as things, but shifted to seeing programs as shadows cast by communities.&amp;#0160;&lt;p&gt;These two observations say a lot about the state of enterprise software, the communities that design, deploy and manage enterprise software are often riven by bureaucracy and politics. And sadly the program shadows that are cast by this community frequently reflect this.&amp;#0160;&lt;/p&gt;&lt;p&gt;In security you rarely see the security team &quot;standing close&quot; with development teams, and this isolationism is a chief reason why the infosec world has had such limited success in delivering security services to systems.&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e20120a6af9c23970b</guid>
         <pubDate>Wed, 18 Nov 2009 01:21:51 -0800</pubDate>
      </item>
      <item>
         <title>Secure Audit Logging Class</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/secure-audit-logging-class.html</link>
         <description>&lt;div&gt;&lt;p&gt;Yesterday, I debuted a new &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://arctecgroup.net/training.htm&quot;&gt;software security training class&lt;/a&gt; on Secure Audit Logging, this is a class aimed developers, architects and security people. There are a lot of products out there that help enterprises manage logs for PCI compliance and such, but there is very little to tell developers and architects how to design interfaces to logging APIs, where to hook them into the applications, what type of events to look for and so on.&lt;/p&gt;&lt;p&gt;I put the class together at the request of one my favorite clients and it looks like something that many large enterprises could benefit from whether they are dealing with PCI compliance or need to improve detection and visibility capabilities at the software level.&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e20120a6baa6c1970b</guid>
         <pubDate>Thu, 19 Nov 2009 22:26:17 -0800</pubDate>
      </item>
      <item>
         <title>Anton Chuvakin on Smart vs Stupid Security</title>
         <link>http://1raindrop.typepad.com/1_raindrop/2009/11/anton-chuvakin-on-smart-vs-stupid-security.html</link>
         <description>&lt;div&gt;&lt;p&gt;Anton Chuvakin has a thought provoking post and a dood &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://chuvakin.blogspot.com/2009/11/smart-vs-stupid-but-not-why-you-think.html&quot;&gt;list&lt;/a&gt; of rare and typical security postures, my favorite one is People (Smart), Boxes (Stupid).&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description>
         <author>Gunnar Peterson</author>
         <guid isPermaLink="false">tag:typepad.com,2003:post-6a00d83451c75869e20120a6c63ca6970b</guid>
         <pubDate>Sun, 22 Nov 2009 12:40:36 -0800</pubDate>
      </item>
      <item>
         <title>&quot;This is an irregular noun: I am an expert, you are specialists in system engineering, they are...&quot;</title>
         <link>http://geoffreywiseman.tumblr.com/post/18794866</link>
         <description>“This is an irregular noun: I am an expert, you are specialists in system engineering, they are hacks.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;James Noble, amusingly reducing a quote from 1968&lt;/em&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18794866</guid>
         <pubDate>Thu, 08 Nov 2007 08:18:16 -0800</pubDate>
      </item>
      <item>
         <title>&quot;The problem with active-passive, is that you’ve been making changes to the active site for six...&quot;</title>
         <link>http://geoffreywiseman.tumblr.com/post/18803836</link>
         <description>“The problem with active-passive, is that you’ve been making changes to the active site for six months, schema changes, code changes, configuration changes. Are you positive you’ve made &lt;em&gt;all&lt;/em&gt; of those changes to the passive site?”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Dan Pritchett (eBay architect)&lt;/em&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18803836</guid>
         <pubDate>Thu, 08 Nov 2007 10:06:35 -0800</pubDate>
      </item>
      <item>
         <title>Fallacies of Distributed Computing</title>
         <link>http://geoffreywiseman.tumblr.com/post/18804541</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing&quot;&gt;Fallacies of Distributed Computing&lt;/a&gt;: &lt;p&gt;Dan recommends keeping the Fallacies of Distributed Computing in Mind.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18804541</guid>
         <pubDate>Thu, 08 Nov 2007 10:16:00 -0800</pubDate>
      </item>
      <item>
         <title>Expensive, Unnecessary Messaging Features</title>
         <link>http://geoffreywiseman.tumblr.com/post/18805675</link>
         <description>&lt;p&gt;Dan is arguing that some features in messaging systems are expensive, and can be handled in other ways.&lt;/p&gt; &lt;p&gt;Once-only delivery is pretty expensive in the messaging tier, and can be handled by making your application response to events idempotent. eBay saw significant reduction in load with this approach.&lt;/p&gt; &lt;p&gt;Ordered delivery is also expensive, and he argues that it’s better not to rely on the order of events, allowing them to arrive out-of-order, tying it back to his earlier suggestion that “Predictability is important” is an irrational thought.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18805675</guid>
         <pubDate>Thu, 08 Nov 2007 10:33:43 -0800</pubDate>
      </item>
      <item>
         <title>ACID vs. BASE</title>
         <link>http://geoffreywiseman.tumblr.com/post/18806389</link>
         <description>&lt;p&gt;An example of BASE on Ebay: An item listed will show up in different data centers at different times, so users conducting searches in different parts of the globe will see different items, depending on what’s made it to the data centre. This falls in with ‘approximate answers are ok’, and dovetails nicely with the idea proposed yesterday that BASE may not be applicable to all scenarios (e.g. financial trading, medical systems).&lt;/p&gt; &lt;p&gt;He compares an ACID approach to partioned databases: 2PC for ACID vs. asynchronous reconciliation for BASE. The former couples availability to both machines, and puts latency on the critical path. The latter puts availability on one system, and the latency between the systems is far less important.&lt;/p&gt; &lt;p&gt;An audience member raised a question about what happens when validations fail in the second database. Dan suggests that this may require asynchronous reconciliation, which requires some kind of exception queue. In the spoken example of money transfer, if you tell a sender that you’re accepting the transfer, but find out later when you reconcile the databases that you can’t apply it to the receiver, you need to handle that through some kind of exception queue: by notifying the sender asynchronously (e.g. email) of the failure, or by notifying an operations team that can resolve the problem, etc.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18806389</guid>
         <pubDate>Thu, 08 Nov 2007 10:43:35 -0800</pubDate>
      </item>
      <item>
         <title>&quot;We don’t guarantee at any given point that the highest price we showed you is the highest bid...&quot;</title>
         <link>http://geoffreywiseman.tumblr.com/post/18807102</link>
         <description>“We don’t guarantee at any given point that the highest price we showed you is the highest bid anywhere in the system; it’s just our best guess at that time. Once the auction is complete, you’ll see the final high bid.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Dan Pritchett (eBay)&lt;/em&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18807102</guid>
         <pubDate>Thu, 08 Nov 2007 10:52:28 -0800</pubDate>
      </item>
      <item>
         <title>Getting Started with Grails</title>
         <link>http://geoffreywiseman.tumblr.com/post/18814629</link>
         <description>&lt;p&gt;Jason Rudolph did a small set of blitz’d slides then went straight into code emonstrations - a great way to get a good sense of something like Grails or Rails, which demo well.&lt;/p&gt; &lt;p&gt;It’s interesting to see the parallels and the differences between Grails and Rails, since I’ve mostly had experience with the latter:&lt;/p&gt; &lt;ul&gt;
&lt;li&gt;Validation constraints are based on the attribute rather than the validation-centric DSL that Rails uses. That probably makes more sense to me, although it’s less DSL-y&lt;/li&gt;
&lt;li&gt;Although they’re working to remove any need to restart, there are still probably more areas where you have to restart a Grails application than a Ruby one&lt;/li&gt;
&lt;li&gt;The presentation scaffold for Grails looks nicer than Rails’&lt;/li&gt;
&lt;li&gt;The default choice of an in-memory database is nice — it removes one more element of configuration to get started with development.&lt;/li&gt;
&lt;li&gt;Domain attributes are configured using the domain class rather than the database&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I do hope Grails solves some of its performance constraints soon, because that’s one of the bigger stumbling blocks remaining. There are also some minor maturity concerns, but for the most part, what I saw looked good.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18814629</guid>
         <pubDate>Thu, 08 Nov 2007 12:42:33 -0800</pubDate>
      </item>
      <item>
         <title>&quot;We have 16,000 application servers divided into 220 pools. One pool does search, one pool does...&quot;</title>
         <link>http://geoffreywiseman.tumblr.com/post/18928892</link>
         <description>““We have 16,000 application servers divided into 220 pools. One pool does search, one pool does selling …””&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Randy Shoup, describing eBay’s architecture&lt;/em&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18928892</guid>
         <pubDate>Fri, 09 Nov 2007 12:16:34 -0800</pubDate>
      </item>
      <item>
         <title>LinkedIn 'Penetration'</title>
         <link>http://geoffreywiseman.tumblr.com/post/18933602</link>
         <description>&lt;p&gt;Dan Pritchett, host of the “Architectures you always wanted to know about” track, asked how many people in the &lt;em&gt;Linked-In: Lessons learned and growth and scalability&lt;/em&gt; session were on LinkedIn.&lt;/p&gt; &lt;p&gt;Although that group is admittedly self-selected, the percentage of hands that went up was quite high — well over half. There’s enough people in the room that I can’t really give a good estimate, but it was interesting.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18933602</guid>
         <pubDate>Fri, 09 Nov 2007 13:32:37 -0800</pubDate>
      </item>
      <item>
         <title>Getting Hired at QCon</title>
         <link>http://geoffreywiseman.tumblr.com/post/18933943</link>
         <description>&lt;p&gt;It’s probably a sign of the technology market rather than QCon specifically, but almost all the vendors presenting (or even exhibiting) are hiring, so if you want a new job, come to the QCon conference (or probably many other similar technical conferences) and chat up the vendors. It’s a good place to form a one-on-one relationship with a real technical employee of a vendor.&lt;/p&gt; &lt;p&gt;Of course, since the conference is in San Francisco, it helps to live here, or be willing to move here.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18933943</guid>
         <pubDate>Fri, 09 Nov 2007 13:37:39 -0800</pubDate>
      </item>
      <item>
         <title>What Methods Belong on an Entity</title>
         <link>http://geoffreywiseman.tumblr.com/post/18938776</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://in.relation.to/Bloggers/WhatMethodsBelongOnAnEntity&quot;&gt;What Methods Belong on an Entity&lt;/a&gt;: &lt;p&gt;Gavin’s got an interesting, and seemingly reasonable rule-of-thumb here to help decide if a method belongs on a domain class.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18938776</guid>
         <pubDate>Fri, 09 Nov 2007 14:58:13 -0800</pubDate>
      </item>
      <item>
         <title>Rails Panel Attendance</title>
         <link>http://geoffreywiseman.tumblr.com/post/18939258</link>
         <description>&lt;p&gt;I’ve been hanging out in the &lt;em&gt;Architectures you Always Wanted to Know About&lt;/em&gt; track all day, but i’ve popped upstairs to see the &lt;em&gt;When is Rails an Appropriate Choice&lt;/em&gt; session.&lt;/p&gt; &lt;p&gt;The track host says this the the most traffic this track has seen all day. Considering there are thirty people in the room, massively lower than the architectural track, that’s a little disconcerting.&lt;/p&gt; &lt;p&gt;I wonder how many were in attendance at the rest of the Rails sessions, and whether this indicates the popularity of Rails or simply that some of the other tracks were more compelling. I like Rails well enough, but the Architectural track was a strong draw with a couple really interesting sessions.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18939258</guid>
         <pubDate>Fri, 09 Nov 2007 15:08:38 -0800</pubDate>
      </item>
      <item>
         <title>Werewolf</title>
         <link>http://geoffreywiseman.tumblr.com/post/18939476</link>
         <description>&lt;p&gt;My evening last night was pre-allocated so I didn’t get a chance to attend the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.jroller.com/obie/tags/werewolf&quot;&gt;Werewolf&lt;/a&gt; game; now that I’ve read a little bit about it, it sounds like it would have been fun, I wish I’d had some time free to check it out.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18939476</guid>
         <pubDate>Fri, 09 Nov 2007 15:12:48 -0800</pubDate>
      </item>
      <item>
         <title>&quot;I think that by definition there will always be more average programmers.&quot;</title>
         <link>http://geoffreywiseman.tumblr.com/post/18941253</link>
         <description>“I think that &lt;em&gt;by definition&lt;/em&gt; there will always be more average programmers.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Ola Bini, responding to the idea that there are more bad and average programmers than good programmers&lt;/em&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/18941253</guid>
         <pubDate>Fri, 09 Nov 2007 15:50:00 -0800</pubDate>
      </item>
      <item>
         <title>HideAPod</title>
         <link>http://geoffreywiseman.tumblr.com/post/19497451</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://hideapod.com/&quot;&gt;HideAPod&lt;/a&gt;: &lt;p&gt;Not sure if it’s just amusing, or actually real, but: protect your iPod or iPhone from theft by making it look like a Zune.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/19497451</guid>
         <pubDate>Thu, 15 Nov 2007 07:00:02 -0800</pubDate>
      </item>
      <item>
         <title>Python Concurrency</title>
         <link>http://geoffreywiseman.tumblr.com/post/19639708</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ifacethoughts.net/2007/09/12/python-3k-discussions/#primary&quot;&gt;Python Concurrency&lt;/a&gt;: &lt;p&gt;Wow, I didn’t know that Python had a Global interpreter lock (GIL), which effectively makes it single-threaded, and that this isn’t currently planned for change, despite the pervasive multicore future that people see ahead.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/19639708</guid>
         <pubDate>Sat, 17 Nov 2007 07:05:39 -0800</pubDate>
      </item>
      <item>
         <title>Gigaspaces for Free</title>
         <link>http://geoffreywiseman.tumblr.com/post/19660735</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.kimchy.org/i-love-gigaspaces-startup-program/&quot;&gt;Gigaspaces for Free&lt;/a&gt;: &lt;p&gt;This is a nice touch.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/19660735</guid>
         <pubDate>Sat, 17 Nov 2007 15:50:11 -0800</pubDate>
      </item>
      <item>
         <title>Toronto: Second-Highest Attendance for FogBugz</title>
         <link>http://geoffreywiseman.tumblr.com/post/19728319</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.google.com/reader/view/#stream/user%2F01477811387960413600%2Flabel%2Fsoftware-lo&quot;&gt;Toronto: Second-Highest Attendance for FogBugz&lt;/a&gt;: &lt;p&gt;Once again, Toronto is shown to be a good choice for software demos, and software. Second only to London in terms of attendance.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/19728319</guid>
         <pubDate>Sun, 18 Nov 2007 19:48:49 -0800</pubDate>
      </item>
      <item>
         <title>Sun Worries Google Android could Fragment Java</title>
         <link>http://geoffreywiseman.tumblr.com/post/19884369</link>
         <description>&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.webware.com/8301-1_109-9817048-2.html?part=rss&amp;tag=feed&amp;subj=Webware&quot;&gt;Sun Worries Google Android could Fragment Java&lt;/a&gt;: &lt;p&gt;It’s a reasonable concern, I guess, but practically speaking, Java on the mobile is already pretty fragmented. Something consistent that everyone uses could be significant.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/19884369</guid>
         <pubDate>Tue, 20 Nov 2007 18:02:24 -0800</pubDate>
      </item>
      <item>
         <title>Maven 2 Release Plugin SNAFU</title>
         <link>http://geoffreywiseman.tumblr.com/post/42743288</link>
         <description>&lt;p&gt;Me: Maven 2 needs a “I know you have a dryRun=true option and I used it, but release:prepare still fucked up, and i’ld like to to revert all the versions back to snapshot versions so I can try again, please” command.&lt;/p&gt; &lt;p&gt;Fuseboy: “mvn -ikyhadrtoaiuibrpsfuailtratvbtsvsictap”&lt;/p&gt;</description>
         <guid isPermaLink="false">http://geoffreywiseman.tumblr.com/post/42743288</guid>
         <pubDate>Fri, 18 Jul 2008 12:24:47 -0700</pubDate>
      </item>
      <item>
         <title>QCon Display</title>
         <link>http://www.flickr.com/photos/accurev/2071595934/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/accurev/&quot;&gt;AccuRev&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/accurev/2071595934/&quot; title=&quot;QCon Display&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2034/2071595934_d8f1f098b2_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;QCon Display&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The AccuRev booth at QCon&lt;/p&gt;</description>
         <author>nobody@flickr.com (AccuRev)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2071595934</guid>
         <pubDate>Wed, 28 Nov 2007 06:46:11 -0800</pubDate>
         <media:content width="3456" url="http://farm3.static.flickr.com/2034/2071595934_d0224c8467_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>QCon Display</media:title>
         <media:description>&amp;lt;p&amp;gt;The AccuRev booth at QCon&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2034/2071595934_d8f1f098b2_s.jpg" height="75"/>
         <media:category>scm davethomas agile accurev agilesoftwaredevelopment qconsf2007</media:category>
         <media:credit>AccuRev</media:credit>
      </item>
      <item>
         <title>QCon Sponsors</title>
         <link>http://www.flickr.com/photos/accurev/2071596576/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/accurev/&quot;&gt;AccuRev&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/accurev/2071596576/&quot; title=&quot;QCon Sponsors&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2057/2071596576_77e7f2194d_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;QCon Sponsors&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Sponsor sign on the main podium&lt;/p&gt;</description>
         <author>nobody@flickr.com (AccuRev)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2071596576</guid>
         <pubDate>Wed, 28 Nov 2007 06:46:31 -0800</pubDate>
         <media:content width="3456" url="http://farm3.static.flickr.com/2057/2071596576_d118a35fd1_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>QCon Sponsors</media:title>
         <media:description>&amp;lt;p&amp;gt;Sponsor sign on the main podium&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2057/2071596576_77e7f2194d_s.jpg" height="75"/>
         <media:category>scm agile accurev agilesoftwaredevelopment qconsf2007</media:category>
         <media:credit>AccuRev</media:credit>
      </item>
      <item>
         <title>Vesuvio</title>
         <link>http://www.flickr.com/photos/johnwall/2099095013/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/johnwall/&quot;&gt;jwol3&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/johnwall/2099095013/&quot; title=&quot;Vesuvio&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2357/2099095013_033c48bdfc_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;Vesuvio&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
         <author>nobody@flickr.com (jwol3)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2099095013</guid>
         <pubDate>Sun, 09 Dec 2007 19:17:12 -0800</pubDate>
         <media:content width="3456" url="http://farm3.static.flickr.com/2357/2099095013_8d6d6b3426_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>Vesuvio</media:title>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2357/2099095013_033c48bdfc_s.jpg" height="75"/>
         <media:category>sanfrancisco northbeach vesuvio qconsf2007</media:category>
         <media:credit>jwol3</media:credit>
      </item>
      <item>
         <title>Mark Figley - Final Panel</title>
         <link>http://www.flickr.com/photos/diathesis/2124137819/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2124137819/&quot; title=&quot;Mark Figley - Final Panel&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2138/2124137819_18eb1c35d1_m.jpg&quot; width=&quot;174&quot; height=&quot;240&quot; alt=&quot;Mark Figley - Final Panel&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Mark Figley asking a question of the final panel.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2124137819</guid>
         <pubDate>Thu, 20 Dec 2007 05:02:31 -0800</pubDate>
         <media:content width="2125" url="http://farm3.static.flickr.com/2138/2124137819_094612d2c6_o.jpg" type="image/jpeg" height="2935"/>
         <media:title>Mark Figley - Final Panel</media:title>
         <media:description>&amp;lt;p&amp;gt;Mark Figley asking a question of the final panel.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2138/2124137819_18eb1c35d1_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canon 350d panel unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Martin Fowler - Closing Panel</title>
         <link>http://www.flickr.com/photos/diathesis/2124914064/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2124914064/&quot; title=&quot;Martin Fowler - Closing Panel&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2263/2124914064_24956b695e_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Martin Fowler - Closing Panel&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Martin was describing his reaction to writing concurrent code using Threads in a very animated way.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2124914064</guid>
         <pubDate>Thu, 20 Dec 2007 05:04:07 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2263/2124914064_084e1557c1_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Martin Fowler - Closing Panel</media:title>
         <media:description>&amp;lt;p&amp;gt;Martin was describing his reaction to writing concurrent code using Threads in a very animated way.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2263/2124914064_24956b695e_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canon 350d panel unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Erik Meijer - Closing Panel</title>
         <link>http://www.flickr.com/photos/diathesis/2124136679/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2124136679/&quot; title=&quot;Erik Meijer - Closing Panel&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2229/2124136679_8b88290490_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;Erik Meijer - Closing Panel&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Erik is an animated speaker.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2124136679</guid>
         <pubDate>Thu, 20 Dec 2007 05:01:24 -0800</pubDate>
         <media:content width="3456" url="http://farm3.static.flickr.com/2229/2124136679_98612c7b5b_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>Erik Meijer - Closing Panel</media:title>
         <media:description>&amp;lt;p&amp;gt;Erik is an animated speaker.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2229/2124136679_8b88290490_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canon 350d panel unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Dan Pritchett - Closing Panel</title>
         <link>http://www.flickr.com/photos/diathesis/2124909850/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2124909850/&quot; title=&quot;Dan Pritchett - Closing Panel&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2406/2124909850_d6ee53caba_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Dan Pritchett - Closing Panel&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;As a member of the QCon final panel.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2124909850</guid>
         <pubDate>Thu, 20 Dec 2007 05:00:26 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2406/2124909850_ca62a726b5_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Dan Pritchett - Closing Panel</media:title>
         <media:description>&amp;lt;p&amp;gt;As a member of the QCon final panel.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2406/2124909850_d6ee53caba_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canon 350d panel unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>The Downward Spiral</title>
         <link>http://www.flickr.com/photos/diathesis/2068052518/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2068052518/&quot; title=&quot;The Downward Spiral&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2302/2068052518_1eadf73e6e_m.jpg&quot; width=&quot;240&quot; height=&quot;160&quot; alt=&quot;The Downward Spiral&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2068052518</guid>
         <pubDate>Mon, 26 Nov 2007 20:49:02 -0800</pubDate>
         <media:content width="3456" url="http://farm3.static.flickr.com/2302/2068052518_a2c01fc9bf_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>The Downward Spiral</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2302/2068052518_1eadf73e6e_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Clock Tower</title>
         <link>http://www.flickr.com/photos/diathesis/2067253829/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2067253829/&quot; title=&quot;Clock Tower&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2225/2067253829_811af11c46_m.jpg&quot; width=&quot;240&quot; height=&quot;173&quot; alt=&quot;Clock Tower&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2067253829</guid>
         <pubDate>Mon, 26 Nov 2007 20:47:30 -0800</pubDate>
         <media:content width="3197" url="http://farm3.static.flickr.com/2225/2067253829_e13bdc59fd_o.jpg" type="image/jpeg" height="2304"/>
         <media:title>Clock Tower</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2225/2067253829_811af11c46_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Hobart Building</title>
         <link>http://www.flickr.com/photos/diathesis/2068063086/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2068063086/&quot; title=&quot;Hobart Building&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2061/2068063086_4c34e651da_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Hobart Building&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2068063086</guid>
         <pubDate>Mon, 26 Nov 2007 20:53:40 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2061/2068063086_750409d202_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Hobart Building</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2061/2068063086_4c34e651da_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Starlite</title>
         <link>http://www.flickr.com/photos/diathesis/2068059318/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2068059318/&quot; title=&quot;Starlite&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2220/2068059318_3c29ad4e80_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Starlite&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2068059318</guid>
         <pubDate>Mon, 26 Nov 2007 20:52:00 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2220/2068059318_607e05b259_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Starlite</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2220/2068059318_3c29ad4e80_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Bay Bridge at Dusk</title>
         <link>http://www.flickr.com/photos/diathesis/2067259885/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2067259885/&quot; title=&quot;Bay Bridge at Dusk&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2414/2067259885_767c36c74c_m.jpg&quot; width=&quot;156&quot; height=&quot;240&quot; alt=&quot;Bay Bridge at Dusk&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Shot from my room on the 30th floor of the Westin Market Street.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2067259885</guid>
         <pubDate>Mon, 26 Nov 2007 20:50:11 -0800</pubDate>
         <media:content width="2244" url="http://farm3.static.flickr.com/2414/2067259885_70559c6802_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Bay Bridge at Dusk</media:title>
         <media:description>&amp;lt;p&amp;gt;Shot from my room on the 30th floor of the Westin Market Street.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2414/2067259885_767c36c74c_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario architecture canon 350d unitedstatesofamerica rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Architect for Latency</title>
         <link>http://www.flickr.com/photos/diathesis/2106873918/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2106873918/&quot; title=&quot;Architect for Latency&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2188/2106873918_12b5759e40_m.jpg&quot; width=&quot;195&quot; height=&quot;240&quot; alt=&quot;Architect for Latency&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Dan Pritchett giving the 'Architect for Latency' talk.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2106873918</guid>
         <pubDate>Wed, 12 Dec 2007 16:34:40 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2188/2106873918_465539317c_o.jpg" type="image/jpeg" height="2830"/>
         <media:title>Architect for Latency</media:title>
         <media:description>&amp;lt;p&amp;gt;Dan Pritchett giving the 'Architect for Latency' talk.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2188/2106873918_12b5759e40_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Getting Started with Grails</title>
         <link>http://www.flickr.com/photos/diathesis/2106097515/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2106097515/&quot; title=&quot;Getting Started with Grails&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2059/2106097515_735cd834c6_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Getting Started with Grails&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Jason Rudolph giving the 'Getting Started with Grails' talk. You can see a little of how he's wired up for sound, as well.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2106097515</guid>
         <pubDate>Wed, 12 Dec 2007 16:36:27 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2059/2106097515_c3cb08669c_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Getting Started with Grails</media:title>
         <media:description>&amp;lt;p&amp;gt;Jason Rudolph giving the 'Getting Started with Grails' talk. You can see a little of how he's wired up for sound, as well.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2059/2106097515_735cd834c6_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt canonef50mmf14usm ef50mmf14usm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Lego Hypothesis</title>
         <link>http://www.flickr.com/photos/diathesis/2106095817/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2106095817/&quot; title=&quot;Lego Hypothesis&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2185/2106095817_b78aa6781d_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Lego Hypothesis&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;James Noble giving the 'Lego Hypothesis' keynote.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2106095817</guid>
         <pubDate>Wed, 12 Dec 2007 16:35:43 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2185/2106095817_ef5feebcd8_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Lego Hypothesis</media:title>
         <media:description>&amp;lt;p&amp;gt;James Noble giving the 'Lego Hypothesis' keynote.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2185/2106095817_b78aa6781d_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Jean-Luc Vaillant</title>
         <link>http://www.flickr.com/photos/diathesis/2115570561/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115570561/&quot; title=&quot;Jean-Luc Vaillant&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2416/2115570561_68c4431dd0_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Jean-Luc Vaillant&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Doing a session on the architecture of LinkedIn.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2115570561</guid>
         <pubDate>Sun, 16 Dec 2007 14:22:03 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2416/2115570561_7d35cac5af_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Jean-Luc Vaillant</media:title>
         <media:description>&amp;lt;p&amp;gt;Doing a session on the architecture of LinkedIn.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2416/2115570561_68c4431dd0_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d rebelxt ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Ola Bini</title>
         <link>http://www.flickr.com/photos/diathesis/2116366050/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2116366050/&quot; title=&quot;Ola Bini&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2265/2116366050_ce993f2867_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Ola Bini&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2116366050</guid>
         <pubDate>Sun, 16 Dec 2007 14:28:17 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2265/2116366050_227469296c_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Ola Bini</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2265/2116366050_ce993f2867_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Charles Nutter</title>
         <link>http://www.flickr.com/photos/diathesis/2115578333/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115578333/&quot; title=&quot;Charles Nutter&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2027/2115578333_b13a876dbf_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Charles Nutter&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2115578333</guid>
         <pubDate>Sun, 16 Dec 2007 14:25:14 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2027/2115578333_672c2fbd4e_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Charles Nutter</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2027/2115578333_b13a876dbf_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Obie Fernandez</title>
         <link>http://www.flickr.com/photos/diathesis/2115583205/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115583205/&quot; title=&quot;Obie Fernandez&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2278/2115583205_c8b9d0e951_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Obie Fernandez&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2115583205</guid>
         <pubDate>Sun, 16 Dec 2007 14:27:09 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2278/2115583205_8095b92f35_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Obie Fernandez</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2278/2115583205_c8b9d0e951_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Josh Susser</title>
         <link>http://www.flickr.com/photos/diathesis/2115574361/</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/people/diathesis/&quot;&gt;diathesis&lt;/a&gt; posted a photo:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.flickr.com/photos/diathesis/2115574361/&quot; title=&quot;Josh Susser&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2228/2115574361_fbca9f8eb6_m.jpg&quot; width=&quot;160&quot; height=&quot;240&quot; alt=&quot;Josh Susser&quot;/&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&lt;/p&gt;</description>
         <author>nobody@flickr.com (diathesis)</author>
         <guid isPermaLink="false">tag:flickr.com,2004:/photo/2115574361</guid>
         <pubDate>Sun, 16 Dec 2007 14:23:35 -0800</pubDate>
         <media:content width="2304" url="http://farm3.static.flickr.com/2228/2115574361_88d0b04d62_o.jpg" type="image/jpeg" height="3456"/>
         <media:title>Josh Susser</media:title>
         <media:description>&amp;lt;p&amp;gt;On the panel at the 'When is Rails an Appropriate Choice?' session.&amp;lt;/p&amp;gt;</media:description>
         <media:thumbnail width="75" url="http://farm3.static.flickr.com/2228/2115574361_fbca9f8eb6_s.jpg" height="75"/>
         <media:category>sanfrancisco california ontario canada canon 350d panel rebelxt ruby ef70200mmf28lisusm canonef70200mmf28lisusm qcon qconsf2007</media:category>
         <media:credit>diathesis</media:credit>
      </item>
      <item>
         <title>Reliability Math</title>
         <link>http://www.michaelnygard.com/blog/2009/02/reliability_math.html</link>
         <description>&lt;p&gt;Suppose you build a web site out of a single stack of one web, app, and database server. What sort of availability SLA should you be willing to support for this site?&lt;/p&gt; &lt;p&gt;&lt;img width=&quot;103&quot; height=&quot;240&quot; style=&quot;border:none;float:left;&quot;/&gt;&lt;/p&gt; &lt;p&gt;We'll approach this in a few steps. For the first cut, you'd say that the appropriate SLA is just the expected availability of the site. Availability is defined in different ways depending on when and how you expect to measure it, but for the time being, we'll say that availability is the probability of getting an HTTP response when you submit a request. This is the &lt;em&gt;instantaneous availability&lt;/em&gt;. &lt;/p&gt; &lt;p&gt;What is the probability of getting a response from the web server? Assuming that every request goes through all three layers, then the probability of a response is the probability that all three components are working. That is:&lt;/p&gt; &lt;p&gt;&lt;img width=&quot;282&quot; height=&quot;12&quot; style=&quot;border:none;float:none;&quot;/&gt;&lt;/p&gt; &lt;p&gt;This follows our intuition pretty closely. Since any of the three servers can go down, and any one server down takes down the site, we'd expect to just multiply the probabilities together. But what should we use for the reliability of the individual boxes? We haven't done a test to failure or life cycle test on our vendor's hardware. In fact, if our vendor has any MTBF data, they're keeping it pretty quiet.&lt;/p&gt; &lt;p&gt;We can spend some time hunting down server reliability data later. For now, let's just try to estimate it. In fact, let's estimate widely enough that we can be 90% confident that the true value is within our range. This will give us some pretty wide ranges, but that's OK... we haven't dug up much data yet, so there should be a lot of uncertainty. Uncertainty isn't a show stopper, and it isn't an excuse for inaction. It just means there are things we don't yet know. If we can quantify our uncertainty, then we can still make meaningful decisions. (And some of those decisions may be to go study something to reduce the uncertainty!)&lt;/p&gt; &lt;p&gt;Even cheap hardware is getting pretty reliable. Would you expect every server to fail once a year? Probably not. It's less frequent than that. One out of the three servers fail every two years? Seems to be a little pessimistic, but not impossible. Let's start there. If every server fails once every two years, at a constant rate [&lt;a rel=&quot;nofollow&quot; href=&quot;#1&quot;&gt;1&lt;/a&gt;], then we can say that the lower bound on server reliability is 60.6%. Would we expect all of these servers to run for five years straight without a failure? Possible, but unlikely. Let's use one failure over five years as our upper bound. One failure out of fifteen server-years would give an annual availability of 93.5% for each server.&lt;/p&gt; &lt;p&gt;So, each server's availability is somewhere between 60.6% and 93.5%. That's a pretty wide range, and won't be satisfactory to many people. That's OK, because it reflects our current degree of uncertainty.&lt;/p&gt; &lt;p&gt;To find the overall reliability, I could just take the worst case and plug it in for all three probabilities, then plug in the best case. That slightly overstates the edge cases, though. I'm better off getting Excel to help me run a Monte Carlo analysis to give me an average across a bunch of scenarios. I'll construct a row that randomly samples a scenario from within these ranges. It will pick three values between 60.6% and 93.5% and compute their product. Then, I'll copy that row 10,000 times by dragging it down the sheet. Finally, I'll average out the computed products to get a range for the overall reliability. When I do that, I get a weighted range of 28.9% to 62.6%. [&lt;a rel=&quot;nofollow&quot; href=&quot;#2&quot;&gt;2&lt;/a&gt;] [&lt;a rel=&quot;nofollow&quot; href=&quot;#3&quot;&gt;3&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;Yep, this single stack web site will be available somewhere between 28.9% of the time and 62.6%. [&lt;a rel=&quot;nofollow&quot; href=&quot;#4&quot;&gt;4&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;Actually, it's likely to be &lt;em&gt;worse&lt;/em&gt; than that. There are two big problems in the analysis so far. First, we've only accounted for hardware failures, but software failures are a much bigger contributor to downtime. Second, more seriously, the equation for overall reliability assumes that all failures are disjoint. That is, we implicitly assumed that nothing could cause more than one of these servers to fail simultaneously. Talk about Pollyanna! We've got common mode failures all over the place, especially in the network, power, and data center arenas.&lt;/p&gt; &lt;p&gt;Next time, we'll start working toward a more realistic calculation.&lt;/p&gt; &lt;hr&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;1&quot;&gt;1&lt;/a&gt;. I'm using a lot of simplifying assumptions right now. Over time, I'll strip these away and replace them with more realistic calculations. For example, a constant failure rate implies an exponential distribution function. It is mathematically convenient, but doesn't represent the effects of aging on moving components like hard drives and fans.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;2&quot;&gt;2&lt;/a&gt;. You can download the spreadsheet &lt;a rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;3&quot;&gt;3&lt;/a&gt;. These estimation and analysis techniques are from &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.howtomeasureanything.com&quot;&gt;How to Measure Anything&lt;/a&gt;&quot; by Doug Hubbard. &lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;4&quot;&gt;4&lt;/a&gt;. Clearly, for a single-threaded stack like this, you can achieve much higher reliability by running all three layers on a single physical host.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.264</guid>
         <pubDate>Fri, 27 Feb 2009 21:20:16 -0800</pubDate>
      </item>
      <item>
         <title>Getting Real About Reliability</title>
         <link>http://www.michaelnygard.com/blog/2009/03/getting_real_about_reliability.html</link>
         <description>&lt;p&gt;&lt;img width=&quot;103&quot; height=&quot;240&quot; border=&quot;0&quot; align=&quot;left&quot;/&gt;In my &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.michaelnygard.com/blog/2009/02/reliability_math.html&quot;&gt;last post&lt;/a&gt;, I user some back-of-the-envelope reliability calculations, with just one interesting bit, to estimate the availability of a single-stacked web application, shown again here. I cautioned that there were a lot of unfounded assumptions baked in. Now it's time to start removing those assumptions, though I reserve the right to introduce a few new ones.&lt;/p&gt; &lt;h2&gt;Is it there when I want it?&lt;/h2&gt; &lt;p&gt;First, lets talk about the hardware itself.&amp;nbsp; It's very likely that these machines are what some vendors are calling &quot;industry-standard servers.&quot; That's a polite euphemism for &quot;x86&quot; or &quot;ia64&quot; that just doesn't happen to mention Intel. ISS servers are expected to exhibit 99.9% availability.&lt;/p&gt; &lt;p&gt;There's something a little bit fishy about that number, though. It's one thing to say that a box is up and running (&quot;available&quot;) 99.9% of the times you look at it.If I check it every hour for a year, and find it alive at least 8,756 out of 8,765 times, then it's 99.9% available. It might have broken just once for 9 hours, or it might have broken 9 times for an hour each, or it might have broken 36 times for half an hour each.&lt;/p&gt; &lt;p&gt;This is the difference between availability and reliability. Availability measures the likelihood that a system can perform its function at a specific point in time. Reliability, on the other hand, measures the likelihood that a system will have failed before a point in time. Availability and reliability both matter to your users. In fact, a large number of small outages can be just as frustrating as a single large event. (I do wonder... since both ends of the spectrum seem to stick out in users' memories, perhaps there's an optimum value for the duration and frequency of outages, where they are seldom enough to seem infrequent, but short enough to seem forgivable?)&lt;/p&gt; &lt;p&gt;We need a bit more math at this point.&lt;/p&gt; &lt;h2&gt;It must be science... it's got integrals.&lt;/h2&gt; &lt;p&gt;Let's suppose that hardware failures can be described as function of time, and that they are essentially random. It's not like the story of the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://thedailywtf.com/Articles/A__0x26_quot_0x3b_Priceless_0x26_quot_0x3b__Server_Room_0x3a__Priceless.aspx&quot;&gt;&quot;priceless&quot; server room&lt;/a&gt;, where failure can be expected based on actions or inaction. We'll also carry over the previous assumption that hardware failures among these three boxes are independent. That is, failure of any one boxes does not make other boxes more likely to fail.&lt;/p&gt; &lt;p&gt;We want to determine the likelihood that the box is available, but the random event we're concerned with is a fault. Thus, we first need to find the probability that a fault has occurred by time t. Checking for a failure is sampling for an event X between times 0 and t.&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;border:none;float:none;&quot;/&gt;&lt;/p&gt; &lt;p&gt;The function f(t) is the probability distribution function that describes failures of this system. We'll come back to that shortly, because a great deal hinges on what function we use here. The reliability of the system, then is the probability that the event X &lt;em&gt;didn't&lt;/em&gt; happen by time t. &lt;/p&gt; &lt;p&gt;&lt;img width=&quot;286&quot; height=&quot;31&quot; style=&quot;border:none;float:none;&quot;/&gt;&lt;/p&gt; &lt;p&gt;One other equation that will help in a bit is the failure rate, the number of failures to expect per unit time. Like reliability, the failure rate can vary over time. The failure rate is:&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;border:none;float:none;&quot;/&gt;&lt;/p&gt; &lt;h2&gt;Failure distributions&lt;/h2&gt; &lt;p&gt;So now we've got integrals to infinity of unknown functions. This is progress?&lt;/p&gt; &lt;p&gt;It is progress, but there are some missing pieces. Next time, I'll talk about different probability distributions, which ones make sense for different purposes, and how to calibrate them with observations.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.265</guid>
         <pubDate>Mon, 16 Mar 2009 16:10:02 -0700</pubDate>
      </item>
      <item>
         <title>Amazon as the new Intel</title>
         <link>http://www.michaelnygard.com/blog/2009/03/amazon_as_the_new_intel.html</link>
         <description>&lt;p&gt;&lt;strong&gt;Update: Please read &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.michaelnygard.com/blog/2009/03/update_sun_cloud_api_not_the_s.html&quot;&gt;this update&lt;/a&gt;. The information underlying this post was based on early, somewhat garbled, reports.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;A brief digression from the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.michaelnygard.com/blog/2009/03/getting_real_about_reliability.html&quot;&gt;unpleasantness of reliability&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;This morning, Sun announced their re-entry into the cloud computing market. After withdrawing Network.com from the marketplace a few months ago, we were all wondering what Sun's approach would be. No hardware vendor can afford to ignore the cloud computing trend... it's going to change how customers view their own data centers and hardware purchases.&lt;/p&gt; &lt;p&gt;One thing that really caught my interest was the description of Sun's cloud offering. It sounded really, really similar to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://aws.amazon.com&quot;&gt;AWS&lt;/a&gt;. Then I heard the E-word and it made perfect sense. Sun &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sun.com/aboutsun/pr/2009-03/sunflash.20090318.2.xml&quot;&gt;announced&lt;/a&gt; that they will use &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://eucalyptus.cs.ucsb.edu/&quot;&gt;EUCALYPTUS&lt;/a&gt; as the control interface to their solution. EUCALYPTUS is an open-source implementation of the AWS APIs.&lt;/p&gt; &lt;p&gt;Last week at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://qconlondon.com&quot;&gt;QCon London&lt;/a&gt;, we heard &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.linkedin.com/in/simonwardley&quot;&gt;Simon Wardley&lt;/a&gt; give a brilliant talk, in which he described &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.canonical.com/&quot;&gt;Canonical&lt;/a&gt;'s plan to create a de facto open standard for cloud computing by seeding the market with open source implementations. Canonical's plan? &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt; and private clouds running EUCALYPTUS.&lt;/p&gt; &lt;p&gt;It looks like Amazon may be setting the standard for cloud computing, in the same way that Intel set the standard for desktop and server computing, by defining the programming interface.&lt;/p&gt; &lt;p&gt;I don't worry about this, for two reasons. One, it forestalls any premature efforts to force a de jure standard. This space is still young enough that an early standard can't help but be a drag on exploration of different business and technical models. Two, Amazon has done an excellent job as a technical leader. If their APIs &quot;win&quot; and become de facto standards, well, we could do a lot worse.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.266</guid>
         <pubDate>Wed, 18 Mar 2009 10:31:07 -0700</pubDate>
      </item>
      <item>
         <title>Can you make that meeting?</title>
         <link>http://www.michaelnygard.com/blog/2009/03/can_you_make_that_meeting.html</link>
         <description>&lt;p&gt;I'm convinced that the next great productivity revolution will be de-matrixing the organizations we've just spent ten years slicing and dicing.&lt;/p&gt; &lt;p&gt;Yesterday, I ran into a case in point: What are the odds that three people can schedule a meeting this week versus having to push it into next week?&lt;/p&gt; &lt;p&gt;Turns out that if they're each 75% utilized, then there's only a 15% chance they can schedule a one hour meeting this week. (If you always schedule 30 minute meetings instead of one hour, then the odds go up to about 25%.)&lt;/p&gt; &lt;p&gt;Here's the probability curve that the meeting can happen. This assumes, by the way, that there are no lunches or vacation days, and that all parties are in the same time zone. It only gets worse from here.&lt;/p&gt; &lt;p&gt;&lt;img style=&quot;float:none;border:none;&quot;/&gt;&lt;/p&gt; &lt;p&gt;So, overall, there's about an 85% chance that 3 random people in a meeting-driven company will have to defer until next week.&lt;/p&gt; &lt;p&gt;Bring it up to 10 people, in a consensus-driven, meeting-oriented company, and the odds drop to 0.00095%.&lt;/p&gt; &lt;p&gt;No wonder &quot;time to first meeting&quot; seems to dominate &quot;time to do stuff.&quot;&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.267</guid>
         <pubDate>Wed, 18 Mar 2009 14:55:13 -0700</pubDate>
      </item>
      <item>
         <title>Update: Sun Cloud API Not the Same as Amazon</title>
         <link>http://www.michaelnygard.com/blog/2009/03/update_sun_cloud_api_not_the_s.html</link>
         <description>&lt;p&gt;It looks like the early reports that Sun's cloud API would be compatible with AWS resulted from the reporters' exuberance (or mere confusion.)&lt;/p&gt; &lt;p&gt;It's actually nicer than Amazon's.&lt;/p&gt; &lt;p&gt;It is based on the REST architectural style, with representations in JSON. In fact, I might start using it as the best embodiment of REST principles. You start with an HTTP GET of &quot;/&quot;. In this repsonse to this and every other request, it is the hyperlinks in the response that indicate what actions are allowed.&lt;/p&gt; &lt;p&gt;Sun has a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://kenai.com/projects/suncloudapis/pages/Home&quot;&gt;wiki&lt;/a&gt; to describe the API, with a very nicely illustrated &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://kenai.com/projects/suncloudapis/pages/HelloCloud&quot;&gt;Hello, Cloud&lt;/a&gt;&quot; example.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.268</guid>
         <pubDate>Thu, 19 Mar 2009 06:29:33 -0700</pubDate>
      </item>
      <item>
         <title>Quantum Backups</title>
         <link>http://www.michaelnygard.com/blog/2009/03/quantum_backups.html</link>
         <description>&lt;p&gt;Backups are the only macroscopic system we commonly deal with that exhibits quantum mechanical effects. This is odd enough that I've spent some time getting tangled up in these observations.&lt;/p&gt; &lt;p&gt;Until you attempt a restore, a backup set is neither good nor bad, but a superposition of both. This is the &lt;em&gt;superposition principle&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;The peculiarity of the superposition principle is dramatically illustrated with the experiment of &lt;em&gt;Schrödinger's backup&lt;/em&gt;. This is when you attempt to restore Schrödinger's pictures of his cat, and discover that the cat is not there.&lt;/p&gt; &lt;p&gt;In a startling corollary, if you use offsite vaulting, a second quantum variable is introduced, in that the backup set exists and does not exist simultaneously. A curious effect emerges upon applying the Hamiltonian operator. The operator shows that certain eigenvalues are always zero, revealing that prime numbered tapes greater than 5 in a set never exist.&lt;/p&gt; &lt;p&gt;Finally, the &lt;em&gt;Heisenbackup principle&lt;/em&gt; says that the user of a system is entangled with the system itself. As a result, within 30 days of consciously deciding that you do not need to run a backup, you will experience a complete disk crash. Because you've just read this, your 30 days start now. &lt;/p&gt; &lt;p&gt;Sorry about that.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.269</guid>
         <pubDate>Fri, 20 Mar 2009 07:40:54 -0700</pubDate>
      </item>
      <item>
         <title>JAOO Australia in 1 Month</title>
         <link>http://www.michaelnygard.com/blog/2009/04/jaoo_australia_in_1_month.html</link>
         <description>&lt;p&gt;&lt;img alt=&quot;Speaking at JAOO&quot; title=&quot;&quot;/&gt;The &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au/&quot;&gt;Australian JAOO&lt;/a&gt; conferences are now just one month away. I've wanted to get to Australia for at least ten years now, so I am thrilled to finally get there.&lt;/p&gt; &lt;p&gt;I'll be delivering a tutorial on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au/sydney-2009/presentation/Release+IT&quot;&gt;production ready software&lt;/a&gt; in both the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au/brisbane-2009/&quot;&gt;Brisbane&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au/sydney-2009/&quot;&gt;Sydney&lt;/a&gt; conferences. This tutorial was a hit at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://qconlondon.com&quot;&gt;QCon London&lt;/a&gt;, where I first delivered it. The Australian version will be further improved.&lt;/p&gt; &lt;p&gt;During the main conference, I'll be delivering a two-part talk on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au/sydney-2009/presentation/Failure+Comes+in+Flavours+(Part+1&quot;&gt;common failure modes&lt;/a&gt;) of distributed systems break and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au/sydney-2009/presentation/Failure+Comes+in+Flavours+(Part+2&quot;&gt;how to recover&lt;/a&gt;) from such breakage. These talks apply whether you're building web facing systems or internal shared services/SOA projects.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.270</guid>
         <pubDate>Fri, 03 Apr 2009 11:12:06 -0700</pubDate>
      </item>
      <item>
         <title>Kudos to Relevance and Clojure</title>
         <link>http://www.michaelnygard.com/blog/2009/05/kudos_to_relevance_and_clojure.html</link>
         <description>&lt;p&gt;It's been a while since I blogged anything, mainly because most of my work lately has either been mind-numbing corporate stuff, or so highly contextualized that it wouldn't be productive to write about.&lt;/p&gt; &lt;p&gt;Something came up last week, though, that just blew me away.&lt;/p&gt; &lt;p&gt;For various reasons, I've engaged &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://thinkrelevance.com/&quot;&gt;Relevance&lt;/a&gt; to do a project for me. (Actually, the first results were so good that I've now got at least three more projects lined up.) They decided---and by &quot;they&quot;, I mean &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.thinkrelevance.com/2009/4/4/programming-clojure-beta-9-is-out&quot;&gt;Stuart Halloway&lt;/a&gt;---to write the engine at the heart of this application in Clojure. That makes it sound like I was reluctant to go along, but actually, I was interested to see if the result would be as expressive and compact as everyone says.&lt;/p&gt; &lt;p&gt;Let me make a brief aside here and comment that I'm finding it much harder to be the customer on an agile project than to be a developer. I think there are two main reasons. First, it's hard for me to keep these guys supplied with enough cards to fill an iteration. They're outrunning me all the time. Big organizations like my employer just take a long time to decide anything. Second, there's nobody else I can defer to when the team needs a decision. It often takes two weeks just for me to get a meeting scheduled with all of the stakeholders inside my company. That's an entire iteration gone, just waiting to &lt;em&gt;get&lt;/em&gt; to the meeting to make a decision! So, I'm often in the position of making decisions that I'm not 100% sure will be agreeable to all parties. So far, they have mostly worked out, but it's a definite source of anxiety.&lt;/p&gt; &lt;p&gt;Anyway, back to the main point I wanted to make.&lt;/p&gt; &lt;p&gt;My personal theme is making software production-ready. That means handling all the messy things that happen in the real world. In a lab, for example, only one batch file ever needs to be processed at once. You never have multiple files waiting for processing, and files are always fully present before you start working on them. In production, that only happens if you guarantee it.&lt;/p&gt; &lt;p&gt;Another example, from my system. We have a set of rules (which are themselves written in Clojure code) that can be changed by privileged users. After changing the configuration, you can tell the daemonized Clojure engine to &quot;(reload-rules!)&quot;. The &quot;!&quot; at the end of that function means it's an imperative with major side effects, so the rules get reloaded right now.&lt;/p&gt; &lt;p&gt;I thought I was going to catch them up when I asked, oh so innocently, &quot;So what happens when you say (reload-rules!) while there's a file being processed on the other thread?&quot; I just love catching people when they haven't dealt with all that nasty production stuff.&lt;/p&gt; &lt;p&gt;After a brief sidebar, Stu and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vanderburg.org/&quot;&gt;Glenn Vanderburg&lt;/a&gt; decided that, in fact, nothing bad would happen at all, despite reloading rules in one thread while another thread was in the middle of using the rules.&lt;/p&gt; &lt;p&gt;Clojure uses a flavor of transactional memory, along with persistent data structures. No, that doesn't mean they go in a database. It means that changes to a data structure can only be made inside of a transaction. The new version of the data structure and the old version exist simultaneously, for as long as there are outstanding references to them. So, in my case, that meant that the daemon thread would &quot;see&quot; the old version of the rules, because it had dereferenced the collection prior to the &quot;reload-rules!&quot; Meanwhile, the reload-rules! function would modify the collection in its own transaction. The next time the daemon thread comes back around and uses the reference to the rules, it'll just see the new version of the rules.&lt;/p&gt; &lt;p&gt;In other words, two threads can both use the same reference, with complete consistency, because they each see a point-in-time snapshot of the collection's state. The team didn't have to do anything special to make this happen... it's just the way that Clojure's references, persistent data structures, and transactional memory work.&lt;/p&gt; &lt;p&gt;Even though I didn't get to catch Stu and Glenn out on a production readiness issue, I still had to admit that was pretty frickin' cool.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.271</guid>
         <pubDate>Wed, 06 May 2009 00:18:26 -0700</pubDate>
      </item>
      <item>
         <title>Units of Measure in Scala</title>
         <link>http://www.michaelnygard.com/blog/2009/05/units_of_measure_in_scala.html</link>
         <description>&lt;p&gt;Failure to understand or represent units has caused several &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.devtopics.com/20-famous-software-disasters-part-2/&quot;&gt;major disasters&lt;/a&gt;, including the costly Ariane 5 disaster in 1996. This is one of those things that DSLs often get right, but mainstream programming languages just ignore. Or, worse, they implement a clunky unit of measure library that ensures you can never again write a sensible arithmetic expression.&lt;/p&gt; &lt;p&gt;While I was at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://jaoo.com.au&quot;&gt;JAOO Australia&lt;/a&gt; this week, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.pandamonial.com/&quot;&gt;Amanda Laucher&lt;/a&gt; showed some F# code for a recipe that caught my attention. It used numeric literals with that directly attached units to quantities. What's more, it was intelligent about combining units.&lt;/p&gt; &lt;p&gt;I went looking for something similar in Scala. I googled my fingertips off, but without much luck, until &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/milessabin&quot;&gt;Miles Sabin&lt;/a&gt; pointed out that there's already a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://lampsvn.epfl.ch/trac/scala/browser/compiler-plugins/units/trunk&quot;&gt;compiler plugin&lt;/a&gt; sitting right next to the core Scala code itself.&lt;/p&gt; &lt;h2&gt;Installing Units&lt;/h2&gt; &lt;p&gt;Scala has it's own package manager, called sbaz. It can directly install the units extension:&lt;/p&gt; &lt;p&gt;sbaz install units&lt;/p&gt; &lt;p&gt;This will install it under your default managed installation. If you haven't done anything else, that will be your Scala install directory. If you have done something else, you probably already know what you're doing, so I won't try to give you instructions.&lt;/p&gt; &lt;h2&gt;Using Units&lt;/h2&gt; &lt;p&gt;To use units, you first have to import the library's &quot;Preamble&quot;. It's also helpful to go ahead and import the &quot;StandardUnits&quot; object. That brings in a whole set of useful SI units.&lt;/p&gt; &lt;p&gt;I'm going to do all this from the Scala interactive interpreter.&lt;/p&gt; &lt;pre&gt;&lt;code&gt;scala&amp;gt; import units.Preamble._
import units.Preamble._ scala&amp;gt; import units.StandardUnits._
import units.StandardUnits._
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;After that, you can multiply any number by a unit to create a dimensional quantity:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;scala&amp;gt; 20*m
res0: units.Measure = 20.0*m scala&amp;gt; res0*res0
res1: units.Measure = 400.0*m*m scala&amp;gt; Math.Pi*res0*res0
res2: units.Measure = 1256.6370614359173*m*m
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Notice that when I multiplied a length (in meters) times itself, I got an area (square meters). To me, this is a really exciting thing about the units library. It can combine dimensions sensibly when you do math on them. In fact, it can help prevent you from incorrectly combining units.&lt;/p&gt; &lt;pre&gt;&lt;code&gt;scala&amp;gt; val length = 5*mm
length: units.Measure = 5.0*mm scala&amp;gt; val weight = 12*g
weight: units.Measure = 12.0*g scala&amp;gt; length + weight
units.IncompatibleUnits: Incompatible units: g and mm
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;I can't add grams and millimeters, but I can multiply them.&lt;/p&gt; &lt;h2&gt;Creating Units&lt;/h2&gt; &lt;p&gt;The StandardUnits package includes a lot of common units relating to basic physics. It doesn't have any relating to system capacity metrics, so I'd like to create some units for that.&lt;/p&gt; &lt;pre&gt;&lt;code&gt;scala&amp;gt; import units._
import units._ scala&amp;gt; val requests = SimpleDimension(&quot;requests&quot;)
requests: units.SimpleDimension = requests scala&amp;gt; val req = SimpleUnit(&quot;req&quot;, requests, 1.0)
req: units.SimpleUnit = req scala&amp;gt; val Kreq = SimpleUnit(&quot;Kreq&quot;, requests, 1000.0)
Kreq: units.SimpleUnit = Kreq
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Now I can combine that simple dimension with others. If I want to express requests per second, I can just write it directly.&lt;/p&gt; &lt;pre&gt;&lt;code&gt;scala&amp;gt; 565*req/s
res4: units.Measure = 565.0*req/s
&lt;/code&gt;&lt;/pre&gt; &lt;h2&gt;Conclusion&lt;/h2&gt; &lt;p&gt;This extension will be the first thing I add to new projects from now on. The convenience of literals, with the extensibility of adding my own dimensions and units means I can easily keep units with all of my numbers.&lt;/p&gt; &lt;p&gt;There's no longer any excuse to neglect your units in a mainstream programming language.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.272</guid>
         <pubDate>Thu, 07 May 2009 21:00:09 -0700</pubDate>
      </item>
      <item>
         <title>Minireview: Beginning Scala</title>
         <link>http://www.michaelnygard.com/blog/2009/05/minireview_beginning_scala.html</link>
         <description>&lt;p&gt;As you can probably tell from my recent posts, I've been learning Scala. I recently dug into another Scala book, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/1430219890?ie=UTF8&amp;amp;tag=michaelnygard-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1430219890&quot;&gt;Beginning Scala&lt;/a&gt; by David Pollak.&lt;/p&gt; &lt;p&gt;Beginning Scala is a nice, gentle introduction to this language. It takes a gradual, example driven approach that emphasizes running code early. This makes it a good intro for people who want to &lt;em&gt;use&lt;/em&gt; the language for applications first, then worry about creating frameworks later.&lt;/p&gt; &lt;p&gt;Don't let that fool you, though. Pollak gets to the sophisticated parts soon enough. I particularly like a example of creating a new &quot;control structure&quot; to execute stuff in the context of a JDBC connection. This puts some meat on the argument that Scala is a &quot;scalable language.&quot; Where other languages either implement this as a keyword (as in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://groovy.codehaus.org/&quot;&gt;Groovy&lt;/a&gt;'s &quot;with&quot;) or a framework (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.springsource.org/&quot;&gt;Spring&lt;/a&gt;'s &quot;templates&quot;), here it can be added with one page of example code.&lt;/p&gt; &lt;p&gt;Beginning Scala also has a very thorough discussion of actors. I appreciate this, because actors were my main motivation for learning Scala in the first place.&lt;/p&gt; &lt;p&gt;Pollak separates the act of consuming a library from that of creating a library. He advises us to worry most about types, traits, co- and contravariance, etc. mainly when we are creating libraries. True to this notion, chapter 7 is called &quot;Traits and Types and Gnarly Stuff for Architects&quot;. It doesn't sound like much fun, but it is important material. I find that Scala makes me think more about the type system than other languages. It's strongly, and statically, typed. (So much so, in fact, that it makes me realize just how loose Java's own type system is.) As such, it pays to have a firm understanding of how code turns into types. Scala has a rich set of tools for building an expressive type system, but there is also complexity there. Checking in at 60 pages, this chapter covers Scala's tools along with guidance on good styles and idioms.&lt;/p&gt; &lt;p&gt;Interestingly, although there is a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://liftweb.net/&quot;&gt;Lift&lt;/a&gt; logo on the cover, there's nothing about Lift in the book itself. Considering that Pollak is the creator of Lift, it's curious that this book doesn't deal with it. Perhaps that's being left for another title.&lt;/p&gt; &lt;p&gt;Overall, I endorse Beginning Scala.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.273</guid>
         <pubDate>Mon, 18 May 2009 13:41:57 -0700</pubDate>
      </item>
      <item>
         <title>Workmen, tools, etc.</title>
         <link>http://www.michaelnygard.com/blog/2009/05/workman_tools_etc.html</link>
         <description>&lt;p&gt;We've all heard the old saw, &quot;It's a poor workman that blames his tools.&quot; Let's think about that for a minute. Does it actual mean that a skilled craftsman can do great work with shoddy implements?&lt;/p&gt; &lt;p&gt;Well, can a chef make a souffle with a skillet?&lt;/p&gt; &lt;p&gt;Can a cabinetmaker round an edge with dull router bits?&lt;/p&gt; &lt;p&gt;I'm not going to rule it out. Perhaps there's a brilliant chef who---at this very moment---is preparing to introduce the world to the &quot;skiffle.&quot; And, it's possible that one could coax a dull router into making a better quarter round through care, attention, and good speed control.&lt;/p&gt; &lt;p&gt;Going by the odds, though, I'd bet on scrambled eggs and splinters.&lt;/p&gt; &lt;p&gt;Like a lot of old sayings, this one doesn't make much sense in it's usual interpretation. Most people take this proverb to mean that you should be able to turn out top-notch work with whatever tools you're given. It's an excuse for bad tools, or lack of interest in improving them.&lt;/p&gt; &lt;p&gt;This homily dates back to a time when workers would bring their own tools to the job, leading to the popular origin story for the phrase &quot;getting sacked&quot;. (No comments about møøse bites, please.) Some crafts have evaded the assembly line, and in those, craftsman still bring their own tools. Chefs bring their prized knives. Fine carpenters bring their own hand and bench tools.&lt;/p&gt; &lt;p&gt;There is a grain of truth in the common interpretation that good tools don't make a good workman. There's another level of truth under the surface, though. The 13th Century French version of this saying translates as, &quot;A bad workman will never find a good tool.&quot; I like this version a lot better. Tools cannot make one good, but bad tools can hurt a good worker's performance. That sounds a lot less like &quot;quit whining and use whatever's at hand,&quot; doesn't it?&lt;/p&gt; &lt;p&gt;On the other hand, if you supply your own tools, you're not as likely to tolerate bad ones, are you? I think this is the most important interpretation. Good workers---if given the choice---will select the best tools and keep them sharp.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.274</guid>
         <pubDate>Wed, 20 May 2009 19:17:03 -0700</pubDate>
      </item>
      <item>
         <title>Two New Circuit Breaker Implementations</title>
         <link>http://www.michaelnygard.com/blog/2009/07/two_new_circuit_breaker_implem.html</link>
         <description>&lt;p&gt;The excellent Will Sargent has created a Circuit Breaker gem that's quite nice. You can read the docs at &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://rdoc.info/projects/wsargent/circuit_breaker&quot;&gt;rdoc.info&lt;/a&gt;. He's released the code (under LGPL) on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://github.com/wsargent/circuit_breaker/tree/master&quot;&gt;GitHub&lt;/a&gt;.
&lt;/p&gt; &lt;p&gt;
The other one has actually been out for a couple of months now, but I forgot to blog about it. Scott Vlamnick created a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.grails.org/plugin/circuit-breaker&quot;&gt;Grails plugin&lt;/a&gt; that uses AOP to weave Circuit Breaker functionality as &quot;around&quot; advice. This one can also report its state via JMX. In a particularly nice feature, this plugin supports different configurations in different environments.
&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.275</guid>
         <pubDate>Thu, 16 Jul 2009 06:35:45 -0700</pubDate>
      </item>
      <item>
         <title>An AspectJ Circuit Breaker</title>
         <link>http://www.michaelnygard.com/blog/2009/07/an_aspectj_circuit_breaker.html</link>
         <description>&lt;p&gt;Spiros Tzavellas pointed me to his implementation of Circuit Breaker. His approach uses AspectJ and can be applied using a bytecode weaver or AspectJ compiler. He's also got unit tests with 85% coverage.&lt;/p&gt; &lt;p&gt;Spiros' project page is &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.tzavellas.com/projects/circuit-breaker/&quot;&gt;here&lt;/a&gt;, and the code is (where else?) on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://github.com/sptz45/circuit-breaker/tree/master&quot;&gt;GitHub&lt;/a&gt;. He appears to be quite actively developing the project.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.276</guid>
         <pubDate>Thu, 16 Jul 2009 08:01:15 -0700</pubDate>
      </item>
      <item>
         <title>Hadoop versus VPN</title>
         <link>http://www.michaelnygard.com/blog/2009/07/hadoop_versus_vpn.html</link>
         <description>&lt;p&gt;I've been doing some work with &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://hadoop.apache.org&quot;&gt;Hadoop&lt;/a&gt; lately, and I just ran into an interesting problem with networking. This isn't a bug, per se, but a conflict in my configuration.&lt;/p&gt; &lt;p&gt;I'm running on a laptop, using a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://hadoop.apache.org/common/docs/r0.20.0/quickstart.html#PseudoDistributed&quot;&gt;pseudo-distributed&lt;/a&gt; cluster. That means all the different processes are running, but they're all running on one box. That makes it possible to test jobs with full network communication, but without deploying to a production cluster.&lt;/p&gt; &lt;p&gt;I'm also working remotely, connecting to the corporate network by VPN. As is commonly done, our VPN is configured to completely separate the client machine from its local network. (If it didn't, you could use the VPN machine to bridge the secure corporate network to your home ISP, coffeeshop, airport, etc.)&lt;/p&gt; &lt;p&gt;Here's the problem: when on the VPN, my machine can't talk to its own IP address. Right now, &lt;code&gt;ifconfig&lt;/code&gt; reports the laptops IP address as 192.168.1.105. That's the address associated with the physical NIC on the machine.&lt;/p&gt; &lt;p&gt;The odd part is that Hadoop &lt;em&gt;mostly&lt;/em&gt; works this way. I've configured the name node, job tracker, task tracker, datanodes, etc. to all use &quot;localhost&quot;. I can use HDFS, I can submit jobs, and all the map tasks work fine. The only problem is that when the map tasks finish, the task tracker cannot send data from the map tasks to the reduce tasks. The job appears to hang.&lt;/p&gt; &lt;p&gt;In the task tracker's log file, I see reports every 20 seconds or so that say&lt;/p&gt; &lt;pre&gt;&lt;code&gt;2009-07-31 11:01:33,992 INFO org.apache.hadoop.mapred.TaskTracker: attempt_200907310946_003_r_000000_0 0.0% reduce &amp;gt; copy &amp;gt;
&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;The instant I disconnected from the VPN, the copy proceeded and the reduce job ran.&lt;/p&gt; &lt;p&gt;I'm sure there's a configuration property somewhere within Hadoop that I can change. When (if) I find it, I'll update this post.&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.277</guid>
         <pubDate>Fri, 31 Jul 2009 09:03:13 -0700</pubDate>
      </item>
      <item>
         <title>GMail Outage Was a Chain Reaction</title>
         <link>http://www.michaelnygard.com/blog/2009/09/gmail_outage_chain_reaction.html</link>
         <description>&lt;p&gt;Google has published an &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://gmailblog.blogspot.com/2009/09/more-on-todays-gmail-issue.html&quot;&gt;explanation of the widespread GMail outage&lt;/a&gt; from September 1st. In this explanation, they trace the root cause to a layer of &quot;request routers&quot;:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;...a few of the request routers became overloaded and in effect told the rest of the system &quot;stop sending us traffic, we're too slow!&quot;. This transferred the load onto the remaining request routers, causing a few more of them to also become overloaded, and within minutes nearly all of the request routers were overloaded.&lt;/p&gt;
&lt;/blockquote&gt; &lt;p&gt;This perfectly describes the &quot;Chain Reaction&quot; stability antipattern from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0978739213?ie=UTF8&amp;amp;tag=michaelnygard-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0978739213&quot;&gt;Release It&lt;/a&gt;!&lt;/p&gt;</description>
         <author></author>
         <guid isPermaLink="false">tag:www.michaelnygard.com,2009:/blog//1.278</guid>
         <pubDate>Wed, 02 Sep 2009 08:25:03 -0700</pubDate>
      </item>
      <item>
         <title>[FISL 10] Balanço do evento</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/yt_-PUe1RIM/</link>
         <description>O FISL 10 foi certamente um dos melhores eventos brasileiros de todos os tempos!
Como havia falado no post anterior, fiz 3 apresentações que foram muito bem recebidas pela galera (ao menos os feedbacks no Twitter e no stand foram ótimos)! Foi legal mostrar um pouco do que temos aqui na Globo.com e saber que muita [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1059</guid>
         <pubDate>Wed, 01 Jul 2009 10:04:31 -0700</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/guilhermechapiewski/3670272447/in/set-72157620567002109/"><img src="http://gc.blog.br/wp-content/uploads/2009/07/fisl10_globocom.jpg" alt="FISL 10 - Globo.com" title="FISL 10 - Globo.com" width="250" height="187" class="alignright size-full wp-image-1062" align="right"/></a>O <a rel="nofollow" target="_blank" href="http://gc.blog.br/2009/06/23/fisl-10-ai-vou-eu/">FISL 10</a> foi certamente um dos melhores eventos brasileiros de todos os tempos!</p>
<p>Como havia falado no <a rel="nofollow" target="_blank" href="http://gc.blog.br/2009/06/23/fisl-10-ai-vou-eu/">post anterior</a>, fiz 3 apresentações que foram muito bem recebidas pela galera (ao menos os feedbacks no <a rel="nofollow" target="_blank" href="http://twitter.com">Twitter</a> e no stand foram ótimos)! Foi legal mostrar um pouco do que temos aqui na <a rel="nofollow" target="_blank" href="http://globo.com">Globo.com</a> e saber que muita gente mudou sua opinião a respeito do que somos e o que fazemos. É claro que somos uma empresa cheia de problemas como qualquer outra, mas temos um monte de iniciativas legais, pessoas legais e projetos/desafios interessantes como em poucos lugares, o que nos torna uma das empresas mais legais para se trabalhar no Brasil!</p>
<p>Adorei também conhecer um monte de pessoas novas que nem vou arriscar citar aqui para não esquecer os nomes. Todas essas pessoas fizeram com que o evento fosse um show!!! Veja algumas <a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/guilhermechapiewski/sets/72157620567002109/">fotos no meu Flickr</a>.</p>
<p>Críticas, sugestões ou comentários são sempre bem-vindos! E nos vemos ano que vem no FISL 11! <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/yt_-PUe1RIM" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Pessoas não são recursos!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/zhGhCrRa6iY/</link>
         <description>Esses dias vi uma mensagem no Twitter que me fez lembrar de algo que eu já queria ter falado aqui há algum tempo:
Referring to people as &amp;#8220;resources&amp;#8221; leads to thinking that individuals are interchangeable code producing units.
Toda vez que alguém chama uma pessoa de &amp;#8220;recurso&amp;#8221; dói meu ouvido. Chega até a ser chato, mas quando [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1069</guid>
         <pubDate>Sun, 12 Jul 2009 18:04:35 -0700</pubDate>
         <content:encoded><![CDATA[<p>Esses dias vi uma <a rel="nofollow" target="_blank" href="http://twitter.com/estherderby/status/2503814254">mensagem no Twitter</a> que me fez lembrar de algo que eu já queria ter falado aqui há algum tempo:</p>
<blockquote><p>Referring to people as &#8220;resources&#8221; leads to thinking that individuals are interchangeable code producing units.</p></blockquote>
<p>Toda vez que alguém chama uma pessoa de &#8220;recurso&#8221; dói meu ouvido. Chega até a ser chato, mas quando alguém faz um comentário sobre &#8220;recursos&#8221; do meu lado dificilmente consigo resistir a corrigir para &#8220;pessoas&#8221;. Como a <a rel="nofollow" target="_blank" href="http://www.estherderby.com">Esther Derby</a> disse na sua mensagem, tratar pessoas como &#8220;recursos&#8221; dá a impressão que as pessoas são &#8220;<em>commodities</em>&#8220;, que são meros &#8220;parafusos&#8221;, sem importância individual e substituíveis por qualquer outro.</p>
<p>Como que alguém pode se sentir bem sabendo que é totalmente descartável e que pode ser a qualquer momento trocado por qualquer outra pessoa? Como alguém pode estar comprometido com um projeto sabendo que é totalmente substituível e que não faz diferença se quem estiver ali for ela ou qualquer outra pessoa? Como alguém pode se sentir motivado assim?</p>
<p>E por fim a pergunta que eu queria chegar: <strong>Que tipo de código e que tipo de produto as pessoas vão conseguir produzir nessas condições?</strong></p>
<p>Desenvolvedores de software são <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Knowledge_worker">trabalhadores do conhecimento</a>. Ao contrário de trabalhadores <a rel="nofollow" target="_blank" href="http://pt.wikipedia.org/wiki/Fordismo">&#8220;Fordistas&#8221;</a>, que são extremamente especializados numa linha de produção e desempenham atividades repetitivas e &#8220;robóticas&#8221;, os trabalhadores do conhecimento trabalham intensivamente com o seu cérebro, analisando e interpretando informações, descobrindo novas e melhores soluções para resolver problemas e tomando decisões o tempo todo.</p>
<p>Por esse motivo, é essencial que essas pessoas estejam motivadas, pois isso as deixa num estado mental que estimula sua produtividade, aumentando a quantidade de trabalho que podem realizar e potencializando o uso da sua criatividade para resolver problemas.</p>
<p><strong>Um projeto de software bem sucedido é construido por pessoas motivadas, que tem visão do que estão fazendo e que acreditam nessa visão.</strong></p>
<p>Para saber mais:</p>
<ul>
<li><a rel="nofollow" target="_blank" href="http://www.teamware.com.br/cms/index.php?option=com_content&#038;task=view&#038;id=15&#038;Itemid=27">Porque empresas tratam as “Pessoas” como “Recursos”?</a></li>
<li><a rel="nofollow" target="_blank" href="http://sciencecareers.sciencemag.org/career_development/previous_issues/articles/1470/managing_knowledge_workers/">Managing Knowledge Workers</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/zhGhCrRa6iY" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Top 200 blogs para desenvolvedores</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/wTTBex7WWJw/</link>
         <description>Um post bem rapidinho. Essa notícia está um pouco atrasada mas continua boa. Se você (assim como eu) gosta muito de ler blogs de desenvolvedores, provavelmente vai adorar isso: uma lista com os top 200 blogs para desenvolvedores selecionados por Jurgen Appelo.
A lista contém ótimos blogs de gente conhecida no mercado como Martin Fowler, [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1086</guid>
         <pubDate>Wed, 15 Jul 2009 19:33:27 -0700</pubDate>
         <content:encoded><![CDATA[<p>Um post bem rapidinho. Essa notícia está um pouco atrasada mas continua boa. <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<p>Se você (assim como eu) gosta muito de ler blogs de desenvolvedores, provavelmente vai adorar isso: uma lista com os <a rel="nofollow" target="_blank" href="http://www.noop.nl/2009/06/top-200-blogs-for-developers-q2-2009.html"><strong>top 200 blogs para desenvolvedores</strong></a> selecionados por <a rel="nofollow" target="_blank" href="http://www.noop.nl/about-the-author.html">Jurgen Appelo</a>.</p>
<p>A lista contém ótimos blogs de gente conhecida no mercado como <a rel="nofollow" target="_blank" href="http://martinfowler.com">Martin Fowler</a>, <a rel="nofollow" target="_blank" href="http://jamesshore.com">James Shore</a>, <a rel="nofollow" target="_blank" href="http://jeffsutherland.com">Jeff Sutherland</a>, <a rel="nofollow" target="_blank" href="http://www.joelonsoftware.com">Joel Spolsky</a> e por aí vai, além de blogs que eu ainda não conhecia e que são bem legais também. Para completar ainda tem o <a rel="nofollow" target="_blank" href="http://twitter.com">Twitter</a> de uma boa parte dessas pessoas.</p>
<p>Mesmo que você não concorde com a lista e ache que tem coisa faltando ou sobrando, com certeza irá encontrar um monte de blogs interessantes para incrementar o seu leitor de RSS. Boa leitura!</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/wTTBex7WWJw" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Agile não é bala de prata</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/GUQq2bD2bG4/</link>
         <description>Esses dias numa conferência alguém veio me contar a sua história, que era de uma empresa que nos últimos anos vinha desenvolvendo seus projetos de forma tradicional, em cascata, e que tinha gostado do que tinha visto sobre metodologias ágeis e estava pensando em tentar. Ele gostou principalmente da idéia de trabalhar com desenvolvimento iterativo [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=506</guid>
         <pubDate>Mon, 17 Aug 2009 07:11:31 -0700</pubDate>
         <content:encoded><![CDATA[<p>Esses dias numa conferência alguém veio me contar a sua história, que era de uma empresa que nos últimos anos vinha desenvolvendo seus projetos de forma tradicional, em cascata, e que tinha gostado do que tinha visto sobre metodologias ágeis e estava pensando em tentar. Ele gostou principalmente da idéia de trabalhar com desenvolvimento iterativo e decidiu que iria tentar usar Scrum na sua empresa.</p>
<p>Passadas algumas semanas encontrei denovo com essa pessoa em um outro evento. Para a minha surpresa, ela me disse que sua vida estava um inferno! Os clientes não estavam dispostos a fechar contratos de escopo negociável, eles queriam saber exatamente o que e quando os projetos seriam entregues. Eles definitivamente não quiseram trabalhar com desenvolvimento iterativo, até porque os projetos já eram bem curtos (menos de 1 mês). Pra terminar, por ser uma agência pequena a equipe é de menos de 10 pessoas fazendo com que uma pessoa precise trabalhar em 3 ou 4 projetos ao mesmo tempo. E por aí vai&#8230;</p>
<p><strong>Então eu perguntei:</strong> <em>Quantos projetos davam errado antes de você começar com Agile?</em><br />
<strong>E ele respondeu:</strong> <em>Todos os nossos projetos sempre foram bem sucedidos.</em><br />
<strong>E eu perguntei denovo:</strong> <em>Então qual é o problema que você está tentando resolver usando Scrum e desenvolvimento iterativo?</em><br />
<em>(silêncio&#8230;)</em><br />
<strong>Eu novamente:</strong> <em>Ok, já entendí. Faça o seguinte, volte para o seu processo de trabalho antigo. Não sei como é mas me parece ótimo.</em></p>
<p>Muita gente se surpreende quando eu falo isso. Só porque eu falo sobre desenvolvimento ágil não significa que eu acho que isso é a solução para todos os problemas. Se todos os seus clientes estão satisfeitos do jeito que você está trabalhando, seus projetos não falham, você faz ótimas entregas e tudo está ótimo, você não tem um problema. E se você não tem um problema, você não precisa resolver nada. E nesse caso eu recomendo: <strong>não</strong> use uma metodologia de desenvolvimento ágil só porque está na moda.</p>
<p>Metodologias ágeis partem do princípio de que os requisitos de um projeto de software vão mudar. Geralmente em projetos de software grandes é muito difícil de planejar todos os requisitos de uma vez no início do projeto. Não seria impossível fazer isso mas o custo é tão alto que vale mais a pena planejar menos e ir adaptando o software e os requisitos ao longo do tempo até que ele esteja pronto. No cenário dessa pessoa, como os projetos são muito pequenos é perfeitamente possível planejar tudo antes em pouco tempo e desenvolver em seguida.</p>
<p>Em alguns outros casos onde os requisitos não mudam waterfall também pode fazer sentido. Por exemplo, quando você desenvolve software para o governo, toda a especificação do projeto normalmente é produzida e informada antes em um edital. Algumas vezes até o prazo de entrega já está definido. Eu pessoalmente já trabalhei em vários projetos desse tipo que deram certo, que foram entregues dentro do prazo, atendendo a especificação e sem maiores problemas. Como tudo estava funcionando, não havia motivo para pensar em outra forma de desenvolvimento que eventualmente poderia trazer mais problemas do que soluções, como no caso dessa pessoa que conversou comigo.</p>
<p>O que eu quero dizer com isso tudo é que não existe uma metodologia que funciona para todos os casos e todos os projetos do mundo. <a rel="nofollow" target="_blank" href="http://gc.blog.br/2008/10/19/java-e-ruim/">Assim como você deve usar a melhor ferramenta para cada problema</a>, você deve usar a melhor metodologia para cada projeto.</p>
<p>No projeto que eu estou atualmente estamos quebrando vários paradigmas de desenvolvimento ágil. Estamos com times gigantes, usando quadros de Lean totalmente customizados misturados com Scrum e por aí vai. Estamos sempre analisando os resultados das iterações e replanejando nosso processo. Apesar de todos os livros dizerem que os times têm que ser pequenos, estamos trabalhando com um time de 20 pessoas que dá certo e está super produtivo. Esse é o espírito: faça o que for melhor para o projeto e o que te fizer ter os melhores resultados, não o que alguém diz que é certo ou é errado ou o que está na moda.</p>
<p>É perfeitamente possível desenvolver projetos bons em qualquer metodologia. Entenda qual é o seu cenário, quais são os seus problemas, limitações e aí sim decida qual é a melhor forma de trabalhar nos seus projetos.</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/GUQq2bD2bG4" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Dev in Rio 2009: eu vou!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/GLvLzCnDi3w/</link>
         <description>É com muito orgulho que apresentamos o Dev in Rio 2009, uma conferência inédita sobre desenvolvimento de software que acontecerá no próximo dia 14 de setembro no Centro de Convenções SulAmérica, no Rio de Janeiro!
O evento está sendo organizado por mim (Guilherme Chapiewski) em parceria com o meu amigo Henrique Bastos e a realização está [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1120</guid>
         <pubDate>Thu, 20 Aug 2009 14:21:26 -0700</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.devinrio.com.br"><img src="http://www.devinrio.com.br/img/devinrio_euvou_125x125.gif" alt="Dev in Rio 2009" class="alignright size-full wp-image-1129" align="right"/></a>É com muito orgulho que apresentamos o <a rel="nofollow" target="_blank" href="http://www.devinrio.com.br"><strong>Dev in Rio 2009</strong></a>, uma conferência inédita sobre desenvolvimento de software que acontecerá no próximo dia 14 de setembro no <a rel="nofollow" target="_blank" href="http://www.ccsulamerica.com.br/PgLocalizacao.php">Centro de Convenções SulAmérica</a>, no Rio de Janeiro!</p>
<p>O evento está sendo organizado por <a rel="nofollow" target="_blank" href="http://gc.blog.br">mim (Guilherme Chapiewski)</a> em parceria com o meu amigo <a rel="nofollow" target="_blank" href="http://henriquebastos.net/2009/08/21/dev-in-rio-2009-eu-vou/">Henrique Bastos</a> e a realização está sendo coordenada pelas nossas experientes amigas da <a rel="nofollow" target="_blank" href="http://www.arteccom.com.br">Arteccom</a> (e tê-las ao nosso lado já garante que este será um evento para marcar o circuito carioca).</p>
<p>Nossa <a rel="nofollow" target="_blank" href="http://www.devinrio.com.br">programação</a> conta com três palestrantes nacionais e três internacionais falando sobre <a rel="nofollow" target="_blank" href="http://pt.wikipedia.org/wiki/C%C3%B3digo_aberto">Open Source</a>, <a rel="nofollow" target="_blank" href="http://java.sun.com">Java</a>, <a rel="nofollow" target="_blank" href="http://rubyonrails.org">Ruby on Rails</a>, <a rel="nofollow" target="_blank" href="http://www.djangoproject.com">Django</a> e <a rel="nofollow" target="_blank" href="http://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software">desenvolvimento ágil de software</a>:</p>
<table width="100%">
<tr>
<td>
<h3>&#8220;O molho secreto&#8221;: como as comunidades do Joomla! e Open Source estão melhorando o cenário de tecnologia&#8230; e mudando o mundo!</h3>
<p><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_ryan_ozimek.jpg" alt="Ryan Ozimek" title="Ryan Ozimek" width="100" height="120" class="alignleft size-full wp-image-1137" align="left"/><a rel="nofollow" target="_blank" href="http://www.picnet.net/blog/author/cozimek/"><em><strong>Ryan Ozimek</strong></a> é atual membro do Steering Committee da Open Source Initiative, membro da diretoria da Open Source Matters e co-fundador e CEO da PICnet Inc. Com enfoque em tecnologias open source, Ozimek está constantemente a procura de formas em que a Internet possa servir melhor o “bem maior” e, mais especificamente, as entidades sem fins lucrativos.</em></td>
</tr>
<tr>
<td>
<h3>O Java está morto?</h3>
<p><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_guilherme_silveira1.jpg" alt="Guilherme Silveira" title="Guilherme Silveira" width="100" height="120" class="alignleft size-full wp-image-1170" align="left"/><em><a rel="nofollow" target="_blank" href="http://guilhermesilveira.wordpress.com"><strong>Guilherme Silveira</strong></a> é especialista em Java para a web e graduando em matemática computacional na USP, ministrou diversas palestras relacionadas ao tema em eventos e empresas pelo Brasil. Atualmente é commiter do CodeHaus pelos projetos XStream e Waffle, além de um dos responsáveis pelo desenvolvimento do VRaptor.</em></td>
</tr>
<tr>
<td><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_nico_steppat.jpg" alt="Nico Steppat" title="Nico Steppat" width="100" height="120" class="alignleft size-full wp-image-1148" align="left"/><em><a rel="nofollow" target="_blank" href="http://blog.caelum.com.br"><strong>Nico Steppat</strong></a> é Engenheiro da Computação Aplicada na Fachhochschule Brandenburg na Alemanha, é instrutor, consultor e desenvolve há cinco anos com Java no Brasil e Alemanha, atuando agora na Caelum com enfoque especial em EJB. É o responsável técnico no Rio de janeiro. Escreve para a revista MundoJava e possui as certificações SCJP, SCWCD, SCBCD e SCEA.</em></td>
</tr>
<tr>
<td>
<h3>Ecossistema Ruby on Rails</h3>
<p><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_fabio_akita.jpg" alt="Fabio Akita" title="Fabio Akita" width="100" height="120" class="alignleft size-full wp-image-1149" align="left"/><em><a rel="nofollow" target="_blank" href="http://akitaonrails.com"><strong>Fabio Akita</strong></a> é Gerente de Produtos de Hospedagem na Locaweb e ajudou a implantar Ruby on Rails pela primeira vez num grande hosting no Brazil. Ano passado também organizou o Rails Summit Latin America, o primeiro grande evento de Rails na América do Sul. Trabalhou na consultoria americana Surgeworks LLC, prestando serviços relacionados a projetos Ruby on Rails, com o cargo de Brazil Rails Practice Manager.</em></td>
</tr>
<tr>
<td>
<h3>Django: o framework web para perfeccionistas com prazos</h3>
<p><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_jacob_kaplan_moss.jpg" alt="Jacob Kaplan-Moss" title="Jacob Kaplan-Moss" width="100" height="120" class="alignleft size-full wp-image-1150" align="left"/><em><a rel="nofollow" target="_blank" href="http://jacobian.org"><strong>Jacob Kaplan-Moss</strong></a> é um dos líderes de desenvolvimento e co-criador do Django. Jacob é um desenvolvedor de software experiente com foco em desenvolvimento de aplicações web e arquitetura de gerenciadores de conteúdo. Em 2005, Jacob ingressou no Lawrence Journal-World, um jornal local em Lawrence, Kansas, e ajudou a desenvolver e tornar open source o projeto Django. É também co-autor do livro &#8220;The Definitive Guide to Django&#8221; (Apress, 2007).</em></td>
</tr>
<tr>
<td>
<h3>Desenvolvimento ágil e iterativo de produtos</h3>
<p><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_jeff_patton.jpg" alt="Jeff Patton" title="Jeff Patton" width="100" height="120" class="alignleft size-full wp-image-1151" align="left"/><em><a rel="nofollow" target="_blank" href="http://www.agileproductdesign.com"><strong>Jeff Patton</strong></a> cria e desenvolve software nos últimos 15 anos desde sistemas de pedidos de peças de aeronaves até fichas médicas eletrônicas. Jeff se focou em metodologias ágeis desde que trabalhou com um time de Extreme Programming em 2000. Em particular, Jeff se especializou na aplicação de práticas de user experience design (UX) para melhorar requisitos ágeis, planejamentos e produtos. Desde 2007, Jeff tem aplicado Lean thinking e práticas de desenvolvimento com Kanban e Scrum para ajudar times a focarem na entrega de valor.</em></td>
</tr>
</table>
<p><img src="http://gc.blog.br/wp-content/uploads/2009/08/palestrante_vinicius_teles.jpg" alt="Vinicius Teles" title="Vinicius Teles" width="100" height="120" class="alignleft size-full wp-image-1171" align="left"/>Para fechar com chave de ouro, no encerramento do evento faremos um bate-papo com os palestrantes, alguns membros das comunidades de desenvolvimento e a participação especial do meu amigo <a rel="nofollow" target="_blank" href="http://improveit.com.br/empresa/vinicius"><strong>Vinicius Teles</strong></a>!</p>
<p>Como se isso tudo já não fosse suficiente, enquanto todas essas apresentações estão acontecendo teremos sessões de <a rel="nofollow" target="_blank" href="http://codingdojo.org">Coding Dojo</a> rolando do lado de fora com participação especial dos nossos palestrantes (caso eles consigam ficar por lá)! Estamos planejando fazer um Dojo de <a rel="nofollow" target="_blank" href="http://python.org">Python</a>, um de <a rel="nofollow" target="_blank" href="http://www.ruby-lang.org">Ruby</a> e um de <a rel="nofollow" target="_blank" href="http://java.sun.com">Java</a>!</p>
<p><strong>Será simplesmente incrível, ninguém pode ficar de fora dessa!</strong></p>
<p>As inscrições podem ser feitas no site do evento (<a rel="nofollow" target="_blank" href="http://www.devinrio.com.br">http://www.devinrio.com.br</a>) e custam <strong>apenas R$ 65,00</strong>. Todos os inscritos terão direito a participar de todas as sessões, incluindo o Dojo.</p>
<p>Nosso encontro será numa segunda-feira, ou seja, se você não for do Rio de Janeiro já tem uma ótima desculpa para passar o fim de semana aqui, assistir uma ótima conferência na segunda-feira e voltar para o trabalho cheio de idéias na terça!!! Ainda estamos tentando fechar uma parceria com algum hotel para oferecer desconto para participantes do evento. Fiquem ligados nas novidades por aqui ou pelo <a rel="nofollow" target="_blank" href="http://twitter.com/gchapiewski">Twitter</a>!</p>
<p>Gostaria de deixar registrados meus sinceros agradecimentos para os nossos patrocinadores <a rel="nofollow" target="_blank" href="http://www.locaweb.com.br">Locaweb</a> e <a rel="nofollow" target="_blank" href="http://www.caelum.com.br">Caelum</a>, além de outras organizações que nos apoiaram de alguma forma: <a rel="nofollow" target="_blank" href="http://associacao.python.org.br">Associação Python Brasil</a>, <a rel="nofollow" target="_blank" href="http://www.fabricalivre.com.br">Fábrica Livre</a>, <a rel="nofollow" target="_blank" href="http://www.opensourcematters.org">Open Source Matters</a> e <a rel="nofollow" target="_blank" href="http://myfreecomm.com.br">Myfreecomm</a>. E por último, <strong>meu mais sincero agradecimento para a <a rel="nofollow" target="_blank" href="http://globo.com">Globo.com</a> pois ela é a principal responsável por viabilizar essa idéia</strong>! Obrigado por mais uma vez acreditarem nesse louco aqui tarado por desenvolvimento de software! Não tenho palavras pra dizer o quanto é gratificante fazer parte dessa equipe!</p>
<p>Então nos vemos no <strong>Dev in Rio 2009</strong>! Faça agora sua inscrição no <a rel="nofollow" target="_blank" href="http://www.devinrio.com.br">nosso site</a>! Fique ligado também no Twitter do <a rel="nofollow" target="_blank" href="http://twitter.com/devinrio">@devinrio</a> para concorrer a inscrições gratuitas!</p>
<p>Ah, e uma última coisa. <strong>Por favor, nos ajudem a divulgar o evento!</strong> Falem com seus amigos, postem nos seus blogs, Twitters, coloquem nossos banners nos sites de vocês, enfim, por favor nos ajudem a divulgar esse evento! Vamos fazer barulho no Rio de Janeiro!</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/GLvLzCnDi3w" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>“50 in 50″, por Richard P. Gabriel e Guy L. Steele</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/H-N3-pZ9dT0/</link>
         <description>Quem gosta de apresentações épicas vai gostar desse vídeo. Assisti essa apresentação ao vivo na QCon 2007 e foi incrível, certamente uma das mais interessantes que eu já vi! Ontem comentei isso com o Henrique que acabou achando esse video que eu sempre procurei loucamente!
Apresentada por Richard P. Gabriel e Guy L. Steele, a palestra [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1202</guid>
         <pubDate>Thu, 27 Aug 2009 07:22:25 -0700</pubDate>
         <content:encoded><![CDATA[<p>Quem gosta de apresentações épicas vai gostar desse vídeo. Assisti essa apresentação ao vivo na <a rel="nofollow" target="_blank" href="http://gc.blog.br/2007/11/02/qcon-2007-ai-vou-eu/">QCon 2007</a> e foi <strong>incrível</strong>, certamente uma das mais interessantes que eu já vi! Ontem comentei isso com o <a rel="nofollow" target="_blank" href="http://henriquebastos.net/">Henrique</a> que acabou achando esse video que eu sempre procurei loucamente!</p>
<p>Apresentada por <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Richard_P._Gabriel">Richard P. Gabriel</a> e <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Guy_L._Steele,_Jr.">Guy L. Steele</a>, a palestra <strong>50 in 50</strong> fala de 50 tópicos sobre linguagens de programação e 50 anos de história de computação em 50 minutos. Tem pérolas musicais como a sensacional <a rel="nofollow" target="_blank" href="http://www.songworm.com/lyrics/songworm-parody/EternalFlame.html"><em>&#8220;Eternal Flame&#8221;</em></a> (também conhecida como <em>&#8220;God had a deadline, so he wrote it all in Lisp&#8221;</em>), <a rel="nofollow" target="_blank" href="http://www.youtube.com/watch?v=-e8oBF4IrgU">representações teatrais</a> de um programa escrito usando <a rel="nofollow" target="_blank" href="http://shakespearelang.sourceforge.net">Shakespeare Programming Language</a> e muito mais! <strong>É imperdível!</strong></p>
<p><iframe class="embeddedvideo" src="http://blip.tv/play/6VbaqWSJtgc" type="application/x-shockwave-flash" width="450" height="358"></iframe> </p>
<p>Para ver com qualidade melhor, <a rel="nofollow" target="_blank" href="http://jaoo.blip.tv/file/1472720/">acesse o video no Blip.tv da JAOO</a>.</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/H-N3-pZ9dT0" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Ajude a facilitar a vida dos preguiçosos e ganhe um convite para o Dev in Rio!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/y-3_-0tjnuo/</link>
         <description>As inscrições para o Dev in Rio estão acabando e é melhor você correr para garantir logo a sua vaga. Caso você seja preguiçoso como eu sou, use esse script do Pyccuracy para automatizar a sua inscrição (e não esqueça de trocar essas informações &amp;#8220;fake&amp;#8221; pelos dados reais!): Como um bom desenvolvedor
Eu quero me cadastrar no [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1209</guid>
         <pubDate>Fri, 28 Aug 2009 08:58:30 -0700</pubDate>
         <content:encoded><![CDATA[<p>As inscrições para o <a rel="nofollow" target="_blank" href="http://devinrio.com.br">Dev in Rio</a> estão acabando e é melhor você correr para garantir logo a sua vaga. Caso você seja preguiçoso como eu sou, use esse script do <a rel="nofollow" target="_blank" href="http://www.pyccuracy.org">Pyccuracy</a> para automatizar a sua inscrição (e não esqueça de trocar essas informações <em>&#8220;fake&#8221;</em> pelos dados reais!):</p> <div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">Como um bom desenvolvedor
Eu quero me cadastrar no Dev <span style="color:#9966CC;font-weight:bold;">in</span> Rio
Para que eu possa aprender mais e ser um profissional melhor
&nbsp;
Cenário <span style="color:#006666;">1</span> <span style="color:#006600;font-weight:bold;">-</span> Cadastro no Dev <span style="color:#9966CC;font-weight:bold;">in</span> Rio
Dado que Eu navego para <span style="color:#996600;">"http://devinrio.com.br/inscricoes_bra.php"</span>
Quando Eu marco a radio <span style="color:#996600;">"tipo_participacao"</span> E eu clico no elemento <span style="color:#996600;">"tipo_participacao"</span> <span style="color:#008000;font-style:italic;"># ... tem que esperar a página ser carregada :)</span> E eu espero por <span style="color:#006666;">5</span> segundos E eu vejo que a <span style="color:#CC0066;font-weight:bold;">p</span>ágina atual contém <span style="color:#996600;">"Login - Novo cadastro"</span>
Então <span style="color:#008000;font-style:italic;"># Login</span> Eu preencho a caixa de texto <span style="color:#996600;">"email"</span> com <span style="color:#996600;">"seu@email.com"</span> E eu preencho a caixa de texto <span style="color:#996600;">"senha"</span> com <span style="color:#996600;">"senha"</span> E eu preencho a caixa de texto <span style="color:#996600;">"re_senha"</span> com <span style="color:#996600;">"senha"</span> <span style="color:#008000;font-style:italic;"># Dados Pessoais</span> E eu preencho a caixa de texto <span style="color:#996600;">"nome_cracha"</span> com <span style="color:#996600;">"Pyccuracy da Silva"</span> E eu preencho a caixa de texto <span style="color:#996600;">"empresa_cracha"</span> com <span style="color:#996600;">"Globo.com"</span> E eu preencho a caixa de texto <span style="color:#996600;">"dd"</span> com <span style="color:#996600;">"01"</span> E eu preencho a caixa de texto <span style="color:#996600;">"mm"</span> com <span style="color:#996600;">"01"</span> E eu preencho a caixa de texto <span style="color:#996600;">"aaaa"</span> com <span style="color:#996600;">"1980"</span> E eu preencho a caixa de texto <span style="color:#996600;">"cpf"</span> com <span style="color:#996600;">"12345678910"</span> E eu preencho a caixa de texto <span style="color:#996600;">"ddd"</span> com <span style="color:#996600;">"21"</span> E eu preencho a caixa de texto <span style="color:#996600;">"telefone"</span> com <span style="color:#996600;">"23452345"</span> E eu preencho a caixa de texto <span style="color:#996600;">"ddd2"</span> com <span style="color:#996600;">"21"</span> E eu preencho a caixa de texto <span style="color:#996600;">"telefone_celular"</span> com <span style="color:#996600;">"23452345"</span> <span style="color:#008000;font-style:italic;"># Endereço</span> E eu preencho a caixa de texto <span style="color:#996600;">"cep"</span> com <span style="color:#996600;">"23456789"</span> E eu preencho a caixa de texto <span style="color:#996600;">"endereco"</span> com <span style="color:#996600;">"Rua de Exemplo"</span> E eu preencho a caixa de texto <span style="color:#996600;">"numero"</span> com <span style="color:#996600;">"123"</span> E eu preencho a caixa de texto <span style="color:#996600;">"complemento"</span> com <span style="color:#996600;">"ap 101"</span> E eu preencho a caixa de texto <span style="color:#996600;">"bairro"</span> com <span style="color:#996600;">"Meu Bairro"</span> E eu seleciono o item com texto <span style="color:#996600;">"Rio de Janeiro"</span> na <span style="color:#CC0066;font-weight:bold;">select</span> <span style="color:#996600;">"estado"</span> <span style="color:#008000;font-style:italic;"># ... tem que esperar o treco carregar os municipios :)</span> E eu espero por <span style="color:#006666;">5</span> segundos E eu seleciono o item com texto <span style="color:#996600;">"RIO DE JANEIRO"</span> na <span style="color:#CC0066;font-weight:bold;">select</span> <span style="color:#996600;">"municipio"</span> <span style="color:#008000;font-style:italic;"># Seu perfil - pode colocar qualquer coisa :)</span> E eu seleciono o item com valor <span style="color:#996600;">"Outros"</span> na <span style="color:#CC0066;font-weight:bold;">select</span> <span style="color:#996600;">"ocupacao"</span> E eu seleciono o item com valor <span style="color:#996600;">"Superior completo"</span> na <span style="color:#CC0066;font-weight:bold;">select</span> <span style="color:#996600;">"escolaridade"</span> E eu seleciono o item com valor <span style="color:#996600;">"Amigos"</span> na <span style="color:#CC0066;font-weight:bold;">select</span> <span style="color:#996600;">"conhecimento"</span> E eu seleciono o item com valor <span style="color:#996600;">"Outra"</span> na <span style="color:#CC0066;font-weight:bold;">select</span> <span style="color:#996600;">"areas_atuacao"</span> E eu clico no botão <span style="color:#996600;">"sis_submitbutton2"</span> E eu vejo que a <span style="color:#CC0066;font-weight:bold;">p</span>ágina atual contém <span style="color:#996600;">"sucesso"</span> <span style="color:#008000;font-style:italic;"># E pra terminar, espera um pouquinho pra ver que a inscrição funcionou</span> E eu espero por <span style="color:#006666;">10</span> segundos</pre></div></div> <p>Depois disso é só rodar com o comando <strong>&#8220;pyccuracy_console -l pt-br&#8221;</strong> e pronto, você já está cadastrado! Basta agora acessar o site para efetuar o pagamento com o seu cartão de crédito! <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<h3>E agora, a promoção surpresa!</h3>
<p>Ganha uma inscrição como convidado para o <a rel="nofollow" target="_blank" href="http://devinrio.com.br">Dev in Rio</a> e um kit de brinde da <a rel="nofollow" target="_blank" href="http://globo.com">Globo.com</a> (com camiseta, pen drive de 4GB e etc.) o primeiro programador que terminar o que falta do script, ou seja, <strong>fazer o pagamento completo por cartão de crédito <u>ou</u> boleto bancário</strong>, tanto faz (e antes que algum engraçadinho tente, não vale ninguém que já trabalha com o <a rel="nofollow" target="_blank" href="http://www.pyccuracy.org">Pyccuracy</a> aqui na <a rel="nofollow" target="_blank" href="http://globo.com">Globo.com</a>, hehe).</p>
<p>Só estará participando da promoção quem enviar os scripts aqui pelos comentários e eu vou seguir a ordem de postagem. O primeiro script que funcionar leva o prêmio!</p>
<p>Divirtam-se! <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/y-3_-0tjnuo" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Rails Summit 2009, aí vou eu (ou melhor, aí vamos nós)!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/h3PNuZgzSaU/</link>
         <description>Nos dias 13 e 14 de outubro vai rolar em São Paulo a Rails Summit 2009, um dos principais eventos de desenvolvimento de software do Brasil organizado pelo Fabio Akita e a Locaweb!
Ano passado eu fui e foi sensacional e esse ano promete ser ainda melhor! A programação está bem diferente do ano passado e [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1122</guid>
         <pubDate>Wed, 02 Sep 2009 19:50:06 -0700</pubDate>
         <content:encoded><![CDATA[<p><a rel="nofollow" target="_blank" href="http://www.railssummit.com.br?utm_campaign=Railssummit&#038;utm_source=banner_parceiros&#038;utm_medium=banner&#038;utm_content=vouParticipar_210x60"><img src="http://railssummit.com.br/images/banners/vouParticipar_210x60.jpg" alt="Rails Summit 2009" class="alignright size-full" align="right"/></a>Nos dias 13 e 14 de outubro vai rolar em São Paulo a <strong><a rel="nofollow" target="_blank" href="http://railssummit.com.br/">Rails Summit 2009</a></strong>, um dos principais eventos de desenvolvimento de software do Brasil organizado pelo <a rel="nofollow" target="_blank" href="http://akitaonrails.com">Fabio Akita</a> e a <a rel="nofollow" target="_blank" href="http://www.locaweb.com.br">Locaweb</a>!</p>
<p><a rel="nofollow" target="_blank" href="http://gc.blog.br/2008/10/19/rails-summit-latin-america-retrospectiva-do-evento/">Ano passado eu fui e foi <strong>sensacional</strong></a> e esse ano promete ser ainda melhor! A <a rel="nofollow" target="_blank" href="http://railssummit.com.br/pt-BR/speakers">programação</a> está bem diferente do ano passado e conta com algumas novidades como <a rel="nofollow" target="_blank" href="http://smartic.us/">Bryan Liles</a>, <a rel="nofollow" target="_blank" href="http://railsenvy.com/">Gregg Pollack</a>, <a rel="nofollow" target="_blank" href="http://jasonseifer.com/">Jason Seifer</a>, <a rel="nofollow" target="_blank" href="http://m.onkey.org/">Pratik Naik</a>, <a rel="nofollow" target="_blank" href="http://richkilmer.blogs.com/">Richard Kilmer</a>, <a rel="nofollow" target="_blank" href="http://merbist.com/">Matt Aimonetti</a>, além do pessoal que veio ano passado como <a rel="nofollow" target="_blank" href="http://chadfowler.com">Chad Fowler</a>, <a rel="nofollow" target="_blank" href="http://davidchelimsky.net/">David Chelimsky</a>, <a rel="nofollow" target="_blank" href="http://obiefernandez.com/">Obie Fernandez</a> e brazucas feras demais como o <a rel="nofollow" target="_blank" href="http://fabiokung.com/">Fabio Kung</a>, <a rel="nofollow" target="_blank" href="http://tapajos.me/">Marcos Tapajós</a>, <a rel="nofollow" target="_blank" href="http://simplesideias.com.br/">Nando Vieira</a>, <a rel="nofollow" target="_blank" href="http://improveit.com.br/empresa/vinicius">Vinicius Teles</a>, <a rel="nofollow" target="_blank" href="http://www.leonardoborges.com">Leonardo Borges</a>, <a rel="nofollow" target="_blank" href="http://www.nomedojogo.com/">Carlos Brando</a> e <a rel="nofollow" target="_blank" href="http://railssummit.com.br/pt-BR/speakers">por aí vai</a>. Enfim, não dá para perder de jeito nenhum!</p>
<p>Nós cariocas (eu, <a rel="nofollow" target="_blank" href="http://henriquebastos.net/">Henrique</a>, <a rel="nofollow" target="_blank" href="http://rafael.adm.br/">Rafael</a>, <a rel="nofollow" target="_blank" href="http://mergulhao.info/">Sylvestre</a>, <a rel="nofollow" target="_blank" href="http://tapajos.me/">Tapa</a>, <a rel="nofollow" target="_blank" href="http://improveit.com.br/empresa/vinicius">Vinicius</a>, <a rel="nofollow" target="_blank" href="http://ramonpage.com/">Ramon</a> e quem mais for) vamos todos ficar no <a rel="nofollow" target="_blank" href="http://www.hipa.com.br">mesmo hotel</a> pra fazermos a maior bagunça! Seguindo o <a rel="nofollow" target="_blank" href="http://blog.improveit.com.br/articles/2008/07/29/rails-summit-latin-america-2008">exemplo do <del datetime="2009-09-03T17:47:48+00:00">Vinicius</del> Tapajós</a> <a rel="nofollow" target="_blank" href="http://blog.improveit.com.br/articles/2008/07/30/hotel-para-a-rails-summit">no ano passado</a>, estamos divulgando o hotel pra que todo mundo possa ir pra lá e aumentar a bagunça. <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<p>Ficaremos hospedados no <a rel="nofollow" target="_blank" href="http://www.hipa.com.br">Holiday Inn Parque Anhembi</a> que é dentro do Centro de Convenções Anhembi (o mesmo local do evento). O telefone para reservas é <em>0800-770-0858</em>. Não é o hotel mais caro e nem o mais barato mas é pertinho do evento e fica bem fácil pra todo mundo. Nos vemos lá!</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/h3PNuZgzSaU" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>[Dev in Rio 2009] Fotos e vídeos do evento</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/DBG7ri_U63s/</link>
         <description>O Dev in Rio 2009 foi um sucesso total! Disponibilizamos nossas fotos e vídeos nos seguintes locais: Canal de vídeos do Dev in Rio no Vimeo
Grupo de fotos do Dev in Rio no Flickr Eu e Henrique acabamos de terminar um vídeo super especial de recordação do maior #Horaextra de todos os tempos! Espero que vocês gostem: [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1242</guid>
         <pubDate>Wed, 16 Sep 2009 00:31:39 -0700</pubDate>
         <content:encoded><![CDATA[<p>O <a rel="nofollow" target="_blank" href="http://devinrio.com.br">Dev in Rio 2009</a> foi um sucesso total! Disponibilizamos nossas fotos e vídeos nos seguintes locais:</p>
<ul>
<li><a rel="nofollow" target="_blank" href="http://vimeo.com/channels/devinrio">Canal de vídeos do Dev in Rio no Vimeo</a></li>
<li><a rel="nofollow" target="_blank" href="http://www.flickr.com/groups/devinrio">Grupo de fotos do Dev in Rio no Flickr</a></li>
</ul>
<p>Eu e <a rel="nofollow" target="_blank" href="http://henriquebastos.net">Henrique</a> acabamos de terminar um vídeo super especial de recordação do maior <a rel="nofollow" target="_blank" href="http://horaextra.org">#Horaextra</a> de todos os tempos! Espero que vocês gostem: </p>
<p><iframe class="embeddedvideo" src="http://vimeo.com/moogaloop.swf?clip_id=6604215&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" width="450" height="338"></iframe></p> 
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/DBG7ri_U63s" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Colaboração e Open Source dentro da empresa</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/B-hdXmCGS-Y/</link>
         <description>O Github sem sombra de dúvidas mudou a forma como funciona a colaboração em projetos Open Souce. Já existiam alguns websites de colaboração nesse sentido (e até bem conhecidos) como o SourceForge, Google Code, Savannah e vários outros. Todos eles tem várias qualidades mas o Github na minha opinião foi o que conseguiu ser o [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1254</guid>
         <pubDate>Thu, 24 Sep 2009 12:15:20 -0700</pubDate>
         <content:encoded><![CDATA[<p>O <a rel="nofollow" target="_blank" href="http://github.com">Github</a> sem sombra de dúvidas mudou a forma como funciona a colaboração em projetos <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Open_source">Open Souce</a>. Já existiam alguns websites de colaboração nesse sentido (e até bem conhecidos) como o <a rel="nofollow" target="_blank" href="http://sourceforge.net">SourceForge</a>, <a rel="nofollow" target="_blank" href="http://code.google.com">Google Code</a>, <a rel="nofollow" target="_blank" href="http://savannah.gnu.org">Savannah</a> e <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Forge_(software)">vários outros</a>. Todos eles tem várias qualidades mas o <a rel="nofollow" target="_blank" href="http://github.com">Github</a> na minha opinião foi o que conseguiu ser o mais bem sucedido: eles uniram uma interface bem agradável a uma rede social de programadores e o sistema de controle de versão <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a>.</p>
<p>Colaborar com outros projetos é bem fácil no <a rel="nofollow" target="_blank" href="http://github.com">Github</a>, basta <a rel="nofollow" target="_blank" href="http://help.github.com/forking/">fazer um fork</a> do projeto que eu pretendo colaborar, fazer minhas modificações e depois um &#8220;<a rel="nofollow" target="_blank" href="http://github.com/guides/pull-requests">pull request</a>&#8221; para o dono do projeto avaliar e integrar (ou não) o meu código ao dele. Antes do <a rel="nofollow" target="_blank" href="http://github.com">Github</a> não funcionava muito diferente disso mas o que ele fez de bom foi facilitar esse fluxo e criar uma rede social bem interessante em torno desse mundo.</p>
<p>Isso é bem diferente de como as empresas normalmente funcionam. No caso da <a rel="nofollow" target="_blank" href="http://globo.com">Globo.com</a>, por exemplo, todos os repositórios sempre estiveram amontoados nos servidores <a rel="nofollow" target="_blank" href="http://www.nongnu.org/cvs/">CVS</a> e <a rel="nofollow" target="_blank" href="http://subversion.tigris.org">Subversion</a> e consequentemente &#8220;escondidos&#8221; (pouco visíveis) de possíveis colaboradores. Alguns até tinham permissão de commit restrita para um pequeno grupo e o processo de colaboração era ainda mais difícil. Não dá nem para abrir um branch seu, você tem que fazer as modificações localmente e mandar um patch por e-mail, e o merge geralmente não é muito fácil de fazer quando você tem um grande fluxos de merge para lá e para cá. Imagina então quando você trabalha na versão &#8220;v1&#8243; do código e enquanto você produz a &#8220;v2&#8243; um outro desenvolvedor pede merge antes de você? Era preciso esperar o merge terminar para dar checkout da versão nova e ficar mais uma vez fazendo o inferno do merge.</p>
<p>No início desse ano resolvemos experimentar usar o <a rel="nofollow" target="_blank" href="http://gitorious.org">Gitorious</a>, que é uma ferramenta similar ao <a rel="nofollow" target="_blank" href="http://github.com">Github</a> porém Open Source e que você pode instalar num servidor da sua empresa. Isso tinha 2 objetivos: (1) criar uma cultura de &#8220;enterprise&#8221; Open Source e (2) facilitar a colaboração em projetos em que vários times trabalham e commitam ao mesmo tempo.</p>
<p>No início foi um inferno e houve uma rejeição muito grande de muita gente. O modelo de trabalho com o <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a> é bem diferente do que com <a rel="nofollow" target="_blank" href="http://www.nongnu.org/cvs/">CVS</a> e Subversion. Você tem branches (e clones &#8211; que é um conceito um pouco diferente) que podem ser locais ou remotos, commits locais que não vão direto para o servidor e pulls/pushes. As pessoas tendem a fazer relações do tipo &#8220;o push é o que manda as coisas para o servidor, então ele equivale ao commit&#8221;. Mas então o que é o commit do Git? Enfim, não dá pra trabalhar pensando assim, é preciso dar um reset e entender a arquitetura desses sistemas de controle de versão distribuídos para entender que faz sentido sim ter um commit e só depois do push que o código está no repositório (no remoto, porque no local já estava). <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<p>Também foi difícil aprender a trabalhar com merges. No modelo antigo você evita fazer merges o máximo possível porque o trabalho para fazer isso é enorme. Geralmente você só faz quando acabou de fazer tudo para ter trabalho uma vez só. Ainda bem que existem ferramentas para ajudar (como as ferramentas das próprias IDEs) senão seria complicado. Se você trabalha da mesma forma com o <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a> geralmente vai se dar mal, porque não existem (não existiam mas estão começando a melhorar) as mesmas ferramentas de merge visual do <a rel="nofollow" target="_blank" href="http://www.nongnu.org/cvs/">CVS</a> ou Subversion, e era um <strong>parto</strong> para fazer a coisa toda funcionar após fazer um merge de uma semana de fork. Com o <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a> funciona ao contrário: como o merge é automático (na maioria dos casos ele consegue se virar) então a estratégia é fazer merge <strong>toda hora</strong>, várias vezes por dia, o máximo que der.</p>
<p>Depois de alguns meses de &#8220;fricção&#8221; hoje já dá para ver um monte de frutos começando a aparecer. Por exemplo, no último sprint do meu time nós precisavamos usar um cliente <a rel="nofollow" target="_blank" href="http://python.org">Python</a> para acessar a engine de busca da <a rel="nofollow" target="_blank" href="http://globo.com">Globo.com</a>. Como esse cliente era novo tinha uma série de problemas pequenos que precisavam ser resolvidos, mas o time que é responsável pelo projeto estava com vários compromissos e demoraria 2 semanas para trabalhar nisso. Então o <a rel="nofollow" target="_blank" href="http://blogs.manicprogrammer.com/heynemann/">Bernardo</a> e o <a rel="nofollow" target="_blank" href="http://www.andrewsmedina.com">Andrews</a> decidiram fazer um clone no <a rel="nofollow" target="_blank" href="http://gitorious.org">Gitorious</a> para contribuir com o projeto do time de busca, e eles não só resolveram os problemas como devolveram o código <a rel="nofollow" target="_blank" href="http://pt.wikipedia.org/wiki/Refatora%C3%A7%C3%A3o">refatorado</a> e com a <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Code_coverage">cobertura de testes</a> bem melhor. O outro time rapidamente integrou o novo código ao projeto e gostou tanto do trabalho deles que eles viraram commiters e agora podem fazer as modificações que forem necessárias em colaboração com o time de busca. <strong>Exatamente</strong> como funciona no mundo Open Source.</p>
<p>Além desse exemplo, no projeto que estou trabalhando (que é um framework para sites de publicação de conteúdo) temos vários times trabalhando no mesmo código ao mesmo tempo. Nesse momento tem cerca de 10 clones do projeto no nosso <a rel="nofollow" target="_blank" href="http://gitorious.org">Gitorious</a> e talvez cerca de 10 times trabalhando usando o mesmo código para fazer seus &#8220;add-ons&#8221;. O <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a> facilita o trabalho dos times para atualizarem constantemente sua base de código com o que entra de novo no branch master do <em>mainline</em> (o repositório principal do projeto) e o <a rel="nofollow" target="_blank" href="http://gitorious.org">Gitorious</a> torna isso tudo mais visível para todos.</p>
<p>Enfim, as vantages que nós passamos a ter com o <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a> e <a rel="nofollow" target="_blank" href="http://gitorious.org">Gitorious</a> são várias:</p>
<ul>
<li>Todo mundo pode ver facilmente os projetos que existem e quando novos projetos são criados;</li>
<li>Todo mundo pode ver o que todo mundo está fazendo e em que estão trabalhando;</li>
<li>Todo mundo pode facilmente criar e gerenciar seus projetos (sem precisar do <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/System_administrator">Sys Admin</a>);</li>
<li>É bem facil de navegar nos projetos, ver e pegar código dos outros;</li>
<li>Todo mundo pode criar seus clones de repositórios para trabalhar em cima do seu código e do código dos outros;</li>
<li>Todo mundo pode colaborar de volta sem precisar de um processo complicado para isso;</li>
<li>É mais fácil de fazer merges constantes e gerenciar múltiplas colaboracoes simultâneas;</li>
<li>Fora as outras features interessantes que o Git tem e os sistemas de SCM antigos não como o <a rel="nofollow" target="_blank" href="http://www.kernel.org/pub/software/scm/git/docs/git-stash.html">stash</a>, <a rel="nofollow" target="_blank" href="http://www.kernel.org/pub/software/scm/git-core/docs/git-clone.html">clones</a>, <a rel="nofollow" target="_blank" href="http://www.kernel.org/pub/software/scm/git/docs/git-merge.html">merge</a> automático e por aí vai.</li>
</ul>
<p>Só para dizer um ponto negativo, a documentação de usuários do <a rel="nofollow" target="_blank" href="http://git-scm.com">Git</a> não é das melhores (mas tem melhorado bastante) e alguns comandos não são tão intuitivos (como deletar um branch remoto), mas nada que você não descubra e que não se acostume com o tempo.</p>
<p>Aconselho fortemente a todo mundo que puder que faça isso. Instale o <a rel="nofollow" target="_blank" href="http://gitorious.org">Gitorious</a> e fomente a colaboração entre os desenvolvedores da sua empresa! Se você estiver com muita grana também pode dar uma olhada no <a rel="nofollow" target="_blank" href="http://fi.github.com">Github Firewall Install</a>, que deve ser bem legal mas também é <strong>bem</strong> caro.</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/B-hdXmCGS-Y" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>[Dev in Rio 2009] Balanço do evento</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/IZxUTQkKwgI/</link>
         <description>Ufa&amp;#8230; Depois de uma semana de correria para o fechamento do Dev in Rio finalmente estou conseguindo escrever um post!
Mesmo tendo sido idealizado, planejado e executado em pouco mais de 20 dias, o Dev in Rio 2009 foi excelente, um sucesso total! Conseguimos reunir em plena segunda-feira cerca de 400 pessoas para falar de desenvolvimento [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1241</guid>
         <pubDate>Fri, 25 Sep 2009 22:19:12 -0700</pubDate>
         <content:encoded><![CDATA[<p>Ufa&#8230; Depois de uma semana de correria para o fechamento do <a rel="nofollow" target="_blank" href="http://devinrio.com.br">Dev in Rio</a> finalmente estou conseguindo escrever um post!</p>
<p>Mesmo tendo sido idealizado, planejado e executado em pouco mais de <strong>20 dias</strong>, o <a rel="nofollow" target="_blank" href="http://devinrio.com.br/">Dev in Rio 2009</a> foi excelente, um sucesso total! Conseguimos reunir em plena segunda-feira cerca de <strong>400 pessoas</strong> para falar de desenvolvimento de software, se divertirem no Dojo e terem um dia de muita diversão que terminou no maior <a rel="nofollow" target="_blank" href="http://horaextra.org">#Horaextra</a> de todos os tempos.</p>
<p>O <a rel="nofollow" target="_blank" href="http://devinrio.com.br/">Dev in Rio 2009</a> começou na hora programada quando <a rel="nofollow" target="_blank" href="http://gc.blog.br">eu</a> e meu amigo <a rel="nofollow" target="_blank" href="http://henriquebastos.net/">Henrique Bastos</a> abrimos o evento. Rapidamente falamos sobre o evento e sobre como seria o nosso dia. Tratamos de como achamos importante a interação entre comunidades e aprender com pessoas especializadas em tecnologias diversas. Aproveitamos também para agradecer muito aos nossos patrocinadores, apoiadores, comunidades e amigos que nos ajudaram muito mais do que vocês possam imaginar.</p>
<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/danicuki/3926508172/in/set-72157622388051354/"><img src="http://gc.blog.br/wp-content/uploads/2009/09/devinrio_abertura_guilherme_e_henrique.jpg" alt="Dev in Rio 2009 - Abertura" title="Dev in Rio 2009 - Abertura" width="450" height="299" class="aligncenter size-full wp-image-1293"/><br /><em>* Henrique Bastos e eu na abertura do Dev in Rio.</em></a></p>
<p>Abrindo os trabalhos, disparamos as duas trilhas do <a rel="nofollow" target="_blank" href="http://devinrio.com.br/">Dev in Rio 2009</a>. No auditório principal, aconteceriam as palestras programadas, enquanto no foyer seria realizado o <a rel="nofollow" target="_blank" href="http://codingdojo.org/">Coding Dojo</a>.</p>
<p>O <a rel="nofollow" target="_blank" href="http://codingdojo.org/">Coding Dojo</a> é uma arena de programação organizada pela turma do <a rel="nofollow" target="_blank" href="http://dojorio.org/">Dojo Rio</a> em conjunto com o <a rel="nofollow" target="_blank" href="http://www.dojosp.org/">Dojo@SP</a>. A idéia é atacar problemas simples e lúdicos, utilizando técnicas de programação como <a rel="nofollow" target="_blank" href="http://improveit.com.br/xp/praticas/tdd">Test-Driven Development</a> e <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Solid_%28Object_Oriented_Design%29">Modelagem SOLID</a>. Este definitivamente foi o gol de placa do dia &#8211; o Dojo funcionou muito melhor do que nós poderiamos imaginar (exceto o Dojo de Java que não foi lá muito popular, tenho que admitir).</p>
<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/guilhermechapiewski/3921534305/in/set-72157622376004618/"><img src="http://gc.blog.br/wp-content/uploads/2009/09/devinrio_coding_dojo2.jpg" alt="Dev in Rio 2009 - Coding Dojo" title="Dev in Rio 2009 - Coding Dojo" width="450" height="337" class="aligncenter size-full wp-image-1303"/><br /><em>* Coding Dojo do Dev in Rio: 3 metros de código na parede!</em></a></p>
<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/danicuki/3926532278/in/pool-devinrio"><img src="http://gc.blog.br/wp-content/uploads/2009/09/devinrio_coding_dojo.jpg" alt="Dev in Rio 2009 - Coding Dojo" title="Dev in Rio 2009 - Coding Dojo" width="450" height="299" class="aligncenter size-full wp-image-1297"/><br /><em>* Galera participando do Coding Dojo do Dev in Rio.</em></a></p>
<p>A primeira palestra foi a do <a rel="nofollow" target="_blank" href="http://www.picnet.net/blog/author/cozimek/">Ryan Ozymek</a>, que entrou em cena com <a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/rodrigoospinto/3939948462/in/pool-devinrio">seu famoso pinguim</a> para falar de sua experiência com software livre e a comunidade Joomla! Ele detalhou o funcionamento de uma grande comunidade de desenvolvimento e deu sua visão de empresário sobre como usar software livre para alavancar os negócios da sua empresa.</p>
<p>Logo depois, <a rel="nofollow" target="_blank" href="http://guilhermesilveira.wordpress.com/">Guilherme Silveira</a> e <a rel="nofollow" target="_blank" href="http://blog.caelum.com.br/">Nico Steppat</a> trataram de um tema bastante polêmico: <a rel="nofollow" target="_blank" href="http://pt.wikipedia.org/wiki/Java_%28linguagem_de_programa%C3%A7%C3%A3o%29">Java</a> está morto? Abordaram os fatos de que existem muitas coisas além da linguagem no mundo <a rel="nofollow" target="_blank" href="http://pt.wikipedia.org/wiki/Java_%28linguagem_de_programa%C3%A7%C3%A3o%29">Java</a> e que apesar da linguagem estar &#8220;caducando&#8221; a <a rel="nofollow" target="_blank" href="http://en.wikipedia.org/wiki/Java_Virtual_Machine">JVM</a> ainda pode ser muito útil.</p>
<p>Depois do almoço, <a rel="nofollow" target="_blank" href="http://akitaonrails.com/">Fabio Akita</a> não deu trégua para quem estava com sono e fez uma excelente apresentação sobre o ecossistema <a rel="nofollow" target="_blank" href="http://www.rubyonrails.pro.br/">Ruby on Rails</a> com direito a videos, screencast e bastante informação além do código. Ele não sabe mas tirou o fôlego das meninas da tradução simultânea!</p>
<p>Na sequência, o (praticamente carioca) <a rel="nofollow" target="_blank" href="http://jacobian.org/">Jacob Kaplan-Moss</a> fez sua apresentação sobre <a rel="nofollow" target="_blank" href="http://djangoproject.com/">Django</a>, o framework web para perfeccionistas desenvolvido em <a rel="nofollow" target="_blank" href="http://python.org/">Python</a>. Ele falou dos conceitos e valores que guiaram o desenvolvimento do projeto, além de mostrar um pouco de código para dar uma idéia ao público de como usar o <a rel="nofollow" target="_blank" href="http://djangoproject.com/">Django</a> na prática.</p>
<p>A última palestra do dia foi feita por <a rel="nofollow" target="_blank" href="http://www.agileproductdesign.com/">Jeff Patton</a>, que falou sobre desenvolvimento de produtos com métodos ágeis. Utilizando como narrativa a história de um projeto realizado em conjunto com <a rel="nofollow" target="_blank" href="http://obiefernandez.com/">Obie Fernandez</a>, diversos problemas comuns no desenvolvimento de software (e suas soluções) foram destacados.</p>
<p>No final, nosso grande amigo <a rel="nofollow" target="_blank" href="http://improveit.com.br/empresa/vinicius">Vinicius Manhães Teles</a> liderou um bate-papo entre palestrantes, comunidades e o público. Tivemos a impressão de que se não controlassemos o relógio a conversa teria varado a noite, pois não faltavam assuntos e perguntas interessantes. O público participou bastante e foram levantadas questões como empreendedorismo e polêmicas como a <b>estúpida</b> <a rel="nofollow" target="_blank" href="http://akitaonrails.com/2009/08/22/off-topic-maldita-lei-de-regulamenta-o-est-de-volta">regulamentação da profissão de analista de sistemas</a>.</p>
<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/danicuki/3926560072/in/pool-devinrio"><img src="http://gc.blog.br/wp-content/uploads/2009/09/devinrio_discussao.jpg" alt="Dev in Rio 2009 - Discuss&#xe3;o" title="Dev in Rio 2009 - Discuss&#xe3;o" width="450" height="299" class="aligncenter size-full wp-image-1307"/><br /><em>* Discussão liderada por Vinicius Teles. E antes que alguém pergunte, não, não é o cara do Myth Busters que está na foto, é o Jeff Patton.</em></a></p>
<p>Enquanto isso tudo rolava, <a rel="nofollow" target="_blank" href="http://gc.blog.br">eu</a>, <a rel="nofollow" target="_blank" href="http://henriquebastos.net">Henrique</a> e o <a rel="nofollow" target="_blank" href="http://guanabara.info">Gustavo Guanabara</a> e a Flavia Freire (jornalista da <a rel="nofollow" target="_blank" href="http://arteccom.com.br">Arteccom</a>) passamos o dia gravando um gigantesco Podcast do evento, entrevistando o pessoal e filmando os bastidores. Falamos com palestrantes, patrocinadores e participantes sobre todos os assuntos abordados nas palestras! Guanabara, termina logo de editar esse treco porque eu tô ansioso pra ouvir! <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> Veja o &#8220;making of&#8221; de alguns dos Podcasts <a rel="nofollow" target="_blank" href="http://vimeo.com/6614856">com o Ryan Ozimek</a>, <a rel="nofollow" target="_blank" href="http://vimeo.com/6616278">com Guilherme e Paulo Silveira</a> e <a rel="nofollow" target="_blank" href="http://vimeo.com/6597972">com Fabio Akita e Marcos Tapajós</a>. Assim que finalizarmos as edições vamos divulgar todo esse material.</p>
<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/guilhermechapiewski/3921469167/in/set-72157622376004618/"><img src="http://gc.blog.br/wp-content/uploads/2009/09/devinrio_podcast.jpg" alt="Dev in Rio 2009 - Grava&#xe7;&#xe3;o do Podcast" title="Dev in Rio 2009 - Grava&#xe7;&#xe3;o do Podcast" width="450" height="337" class="aligncenter size-full wp-image-1305"/><br /><em>* Guanabara gravando Podcast com Fabio Akita e Marcos Tapajós (e datalhe: ao fundo Guilherme Silveira e Paulo Silveira fazem Pair Programming).</em></a></p>
<p>Como o evento foi realizado numa segunda-feira, fechamos o evento convidando todos os participantes (<a rel="nofollow" target="_blank" href="http://vimeo.com/6597629">ao som de &#8220;Estamos todos bêbados&#8221; do Matanza e com coreografia de Sylvestre Mergulhão e Henrique Andrade</a>) para uma edição épica do <a rel="nofollow" target="_blank" href="http://horaextra.org/">#Horaextra</a> no <a rel="nofollow" target="_blank" href="http://www.lapa40graus.com.br/">Lapa 40º</a>. A entrada era gratuita para quem apresentasse o crachá do <a rel="nofollow" target="_blank" href="http://devinrio.com.br/">Dev in Rio 2009</a> e assim realizamos o maior <a rel="nofollow" target="_blank" href="http://horaextra.org/">#Horaextra</a> de todos os tempos:</p>
<p><iframe class="embeddedvideo" src="http://vimeo.com/moogaloop.swf?clip_id=6589696&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" width="450" height="338"></iframe><br /><a rel="nofollow" target="_blank" href="http://vimeo.com/channels/devinrio"><em>* Veja mais videos do Dev in Rio 2009.</em></a></p>
<p>Tenho certeza de que esse post não consegue transmitir <em>0,001%</em> do que foi o <a rel="nofollow" target="_blank" href="http://devinrio.com.br/">Dev in Rio 2009</a> e a minha felicidade de ter conseguido realizá-lo. Gostaria de agradecer mais uma vez o apoio <strong>fundamental</strong> de toda a galera da <a rel="nofollow" target="_blank" href="http://globo.com/">Globo.com</a> que viabilizou o evento, dos nossos patrocinadores <a rel="nofollow" target="_blank" href="http://www.caelum.com.br/">Caelum</a>, <a rel="nofollow" target="_blank" href="http://www.locaweb.com.br/">Locaweb</a> e <a rel="nofollow" target="_blank" href="http://www.dclick.com.br/">D-Click</a> e de todos que nos apoiaram de alguma forma: <a rel="nofollow" target="_blank" href="http://associacao.python.org.br/">Associação PythonBrasil</a>, <a rel="nofollow" target="_blank" href="http://www.fabricalivre.com.br/">Fábrica Livre</a>, <a rel="nofollow" target="_blank" href="http://www.myfreecomm.com.br/">Myfreecomm</a>, <a rel="nofollow" target="_blank" href="http://www.opensourcematters.org/">OpenSourceMatters</a>, <a rel="nofollow" target="_blank" href="http://www.arteccom.com.br/">Arteccom</a>, <a rel="nofollow" target="_blank" href="http://dojorio.org/">DojoRio</a>, <a rel="nofollow" target="_blank" href="http://dojosp.org/">Dojo@SP</a>, <a rel="nofollow" target="_blank" href="http://horaextra.org/">#Horaextra</a>, <a rel="nofollow" target="_blank" href="http://pythonrio.org/">PythOnRio</a>, <a rel="nofollow" target="_blank" href="http://www.riojug.org/">RioJUG</a>, <a rel="nofollow" target="_blank" href="http://www.rubyinside.com.br/">RubyInside Brasil</a>, <a rel="nofollow" target="_blank" href="http://www.guanabara.info/">Guanabara.info</a> e todas as pessoas que participaram do <a rel="nofollow" target="_blank" href="http://devinrio.com.br/">Dev in Rio 2009</a>. Sem vocês nada disso teria sido possivel.</p>
<p><a rel="nofollow" target="_blank" href="http://www.flickr.com/photos/guilhermechapiewski/3921484527/in/set-72157622376004618/"><img src="http://gc.blog.br/wp-content/uploads/2009/09/devinrio_galera_reunida_no_fim.jpg" alt="Dev in Rio 2009 - Galera no final" title="Dev in Rio 2009 - Galera no final" width="450" height="337" class="aligncenter size-full wp-image-1313"/><br /><em>* Participantes da mesa redonda do Dev in Rio.</em></a></p>
<p>Se você não foi no Dev in Rio, tenho duas coisas para te dizer: (1) você perdeu uma farra das melhores mas (2) em <strong>breve vamos disponibilizar os vídeos das apresentações</strong> para amenizar sua dor. <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<p>E que venha 2010!</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/IZxUTQkKwgI" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>[Rails Summit 2009] Nós vamos e você também pode ir :)</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/dVMxGqefjEM/</link>
         <description>Eu, Guilherme Cirne, Emerson Macedo e Anselmo Alves já estamos preparando as malas para ir no Rails Summit 2009 (isso sem falar do resto da galera do Rio de Janeiro que também vai em massa)!
Tá afim de ir também? Então faça um vídeo criativo explicando porque você também quer ir na Rails Summit 2009 e [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1324</guid>
         <pubDate>Thu, 01 Oct 2009 20:55:14 -0700</pubDate>
         <content:encoded><![CDATA[<p><iframe class="embeddedvideo" src="http://vimeo.com/moogaloop.swf?clip_id=6861415&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" width="450" height="338"></iframe></p>
<p><a rel="nofollow" target="_blank" href="http://gc.blog.br">Eu</a>, <a rel="nofollow" target="_blank" href="http://gcirne.wordpress.com">Guilherme Cirne</a>, <a rel="nofollow" target="_blank" href="http://codificando.com">Emerson Macedo</a> e <a rel="nofollow" target="_blank" href="http://www.anselmoalves.com">Anselmo Alves</a> já estamos preparando as malas para ir no <a rel="nofollow" target="_blank" href="http://railssummit.com.br">Rails Summit 2009</a> (isso sem falar do resto da <a rel="nofollow" target="_blank" href="http://gc.blog.br/2009/09/02/rails-summit-2009-ai-vou-eu-ou-melhor-ai-vamos-nos/">galera do Rio de Janeiro que também vai em massa</a>)!</p>
<p>Tá afim de ir também? Então faça um vídeo criativo explicando porque você também quer ir na <a rel="nofollow" target="_blank" href="http://railssummit.com.br">Rails Summit 2009</a> e poste o link aqui nos comentários. O vídeo mais criativo (que será escolhido por mim e o <a rel="nofollow" target="_blank" href="http://akitaonrails.com">Fabio Akita</a> até o fim do dia 07 de outubro) vai ganhar um convite para a <a rel="nofollow" target="_blank" href="http://railssummit.com.br">Rails Summit 2009</a>!</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/dVMxGqefjEM" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>[Dev in Rio 2009] Podcast!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/z3bVnq-VlZI/</link>
         <description>Essa notícia está 1 dia atrasada mas ainda tá valendo: o Gustavo Guanabara finalmente terminou o Podcast com a cobertura do Dev in Rio 2009!
Ficou muito muito divertido! As entrevistas com os palestrantes Ryan Ozimek, Guilherme Silveira, Fabio Akita e Jacob Kaplan-Moss ficaram ótimas e ainda conseguimos alguns convidados especiais para participarem na hora como [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1329</guid>
         <pubDate>Tue, 06 Oct 2009 10:16:12 -0700</pubDate>
         <content:encoded><![CDATA[<p>Essa notícia está 1 dia atrasada mas ainda tá valendo: o <a rel="nofollow" target="_blank" href="http://www.guanabara.info">Gustavo Guanabara</a> finalmente terminou o <a rel="nofollow" target="_blank" href="http://www.guanabara.info/2009/10/guanacast-cobertura-dev-in-rio-2009/">Podcast com a cobertura do Dev in Rio 2009</a>!</p>
<p>Ficou muito muito divertido! As entrevistas com os palestrantes <a rel="nofollow" target="_blank" href="http://www.picnet.net/blog/author/cozimek/">Ryan Ozimek</a>, <a rel="nofollow" target="_blank" href="http://guilhermesilveira.wordpress.com/">Guilherme Silveira</a>, <a rel="nofollow" target="_blank" href="http://akitaonrails.com">Fabio Akita</a> e <a rel="nofollow" target="_blank" href="http://jacobian.org">Jacob Kaplan-Moss</a> ficaram ótimas e ainda conseguimos alguns convidados especiais para participarem na hora como o <a rel="nofollow" target="_blank" href="http://blog.caelum.com.br">Paulo Silveira</a>, <a rel="nofollow" target="_blank" href="http://tapajos.me">Marcos Tapajós</a> e <a rel="nofollow" target="_blank" href="http://www.maujor.com">Mauricio Samy Silva (o Maujor)</a>. Uma pena que o <a rel="nofollow" target="_blank" href="http://blog.caelum.com.br">Nico Steppat</a> e o <a rel="nofollow" target="_blank" href="http://agileproductdesign.com">Jeff Patton</a> não puderam participar mas fica para a próxima.</p>
<p>Ainda, quem quiser ver o &#8220;making of&#8221; do Podcast pode acessar os <a rel="nofollow" target="_blank" href="http://vimeo.com/channels/devinrio#6614856">vídeos no canal do Dev in Rio no Vimeo</a>.</p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/z3bVnq-VlZI" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>Agile Development Practices Conference 2009, aí vou eu!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/e5Adp-h7_6I/</link>
         <description>Depois das minhas curtas (porém divertidas) férias, estou aqui em Orlando para participar da Agile Development Practices Conference 2009, organizada pela Software Quality Engineering!
Amanhã será o primeiro de dois dias de tutoriais seguidos de dois dias de conferência com a participação de grandes nomes do mundo ágil como Jeff Patton, Alistair Cockburn, Mike Cohn, Jim [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1344</guid>
         <pubDate>Sun, 08 Nov 2009 22:41:05 -0800</pubDate>
         <content:encoded><![CDATA[<p><img src="http://gc.blog.br/wp-content/uploads/2009/11/agile_development_practices.png" alt="Agile Development Practices Conference" title="Agile Development Practices Conference" width="118" height="117" class="alignright size-full wp-image-1346" align="right"/>Depois das minhas curtas (porém divertidas) férias, estou aqui em <a rel="nofollow" target="_blank" href="http://maps.google.com/maps?f=q&#038;source=s_q&#038;hl=en&#038;geocode=&#038;q=orlando&#038;sll=48.860092,2.325342&#038;sspn=0.067197,0.10849&#038;ie=UTF8&#038;hq=&#038;hnear=Orlando,+Orange,+Florida&#038;t=h&#038;z=11&#038;iwloc=A">Orlando</a> para participar da <a rel="nofollow" target="_blank" href="http://www.sqe.com/AgileDevPractices/">Agile Development Practices Conference 2009</a>, organizada pela <a rel="nofollow" target="_blank" href="http://www.sqe.com">Software Quality Engineering</a>!</p>
<p>Amanhã será o primeiro de dois dias de tutoriais seguidos de dois dias de conferência com a participação de grandes nomes do mundo ágil como <a rel="nofollow" target="_blank" href="http://www.agileproductdesign.com">Jeff Patton</a>, <a rel="nofollow" target="_blank" href="http://alistair.cockburn.us">Alistair Cockburn</a>, <a rel="nofollow" target="_blank" href="http://www.mountaingoatsoftware.com">Mike Cohn</a>, <a rel="nofollow" target="_blank" href="http://www.jimhighsmith.com">Jim Highsmith</a>, <a rel="nofollow" target="_blank" href="http://blog.toolshed.com">Andy Hunt</a>, <a rel="nofollow" target="_blank" href="http://www.devjam.com">David Hussman</a>, <a rel="nofollow" target="_blank" href="http://www.industriallogic.com">Joshua Kerievsky</a>, <a rel="nofollow" target="_blank" href="http://www.lindarising.org">Linda Rising</a>, <a rel="nofollow" target="_blank" href="http://www.netobjectives.com/bio-alan-shalloway">Alan Shalloway</a> e por aí vai. Para encerrar, na sexta-feira acontecerá o <a rel="nofollow" target="_blank" href="http://www.sqe.com/AgileDevPractices/APLN/Default.aspx">Agile Leadership Summit</a> liderado pela <a rel="nofollow" target="_blank" href="http://www.evolutionarysystems.net">Pollyanna Pixton</a>.</p>
<p>Os próximos dias prometem! <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/e5Adp-h7_6I" height="1" width="1"/>]]></content:encoded>
      </item>
      <item>
         <title>QCon 2009, aí vou eu!</title>
         <link>http://feedproxy.google.com/~r/GuilhermeChapiewski/~3/DQuNRRaa4tU/</link>
         <description>Esses últimos dias foram uma loucura e eu não consegui parar um segundo pra blogar sobre a Agile Dev Practices (que foi muito legal, por sinal)! Estou agora na minha segunda e mais esperada conferência desta viagem, a QCon 2009 em San Francisco!
Esta é a minha segunda participação nessa conferência sensacional com alguns dos melhores [...]</description>
         <guid isPermaLink="false">http://gc.blog.br/?p=1354</guid>
         <pubDate>Mon, 16 Nov 2009 09:15:56 -0800</pubDate>
         <content:encoded><![CDATA[<p><img src="http://gc.blog.br/wp-content/uploads/2009/11/qcon.png" alt="QCon" title="QCon" width="150" height="50" class="alignright size-full wp-image-1355" align="right"/>Esses últimos dias foram uma loucura e eu não consegui parar um segundo pra blogar sobre a <a rel="nofollow" target="_blank" href="http://gc.blog.br/2009/11/09/agile-development-practices-conference-2009-ai-vou-eu/">Agile Dev Practices</a> (que foi muito legal, por sinal)! Estou agora na minha segunda e mais esperada conferência desta viagem, a <a rel="nofollow" target="_blank" href="http://qconsf.com">QCon 2009</a> em <a rel="nofollow" target="_blank" href="http://maps.google.com/maps?oe=UTF-8&#038;sourceid=navclient&#038;gfns=1&#038;q=san+francisco&#038;um=1&#038;ie=UTF-8&#038;hq=&#038;hnear=San+Francisco,+CA&#038;gl=us&#038;ei=jYYBS-vXN829ngf2gLnoCA&#038;sa=X&#038;oi=geocode_result&#038;ct=title&#038;resnum=1&#038;ved=0CBMQ8gEwAA">San Francisco</a>!</p>
<p>Esta é a minha <a rel="nofollow" target="_blank" href="http://gc.blog.br/2007/11/02/qcon-2007-ai-vou-eu/">segunda participação</a> nessa conferência sensacional com alguns dos <a rel="nofollow" target="_blank" href="http://qconsf.com/sf2009/speakers/">melhores palestrantes e profissionais de desenvolvimento de software do mundo</a>!</p>
<p>Espero conseguir colocar os posts em dia durante a semana. <img src='http://gc.blog.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley'/> </p>
<img src="http://feeds.feedburner.com/~r/GuilhermeChapiewski/~4/DQuNRRaa4tU" height="1" width="1"/>]]></content:encoded>
      </item>
   </channel>
</rss>
<!-- fe10.pipes.sp1.yahoo.com uncompressed/chunked Tue Nov 24 06:05:34 PST 2009 -->
