<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://www.brokenbuild.com/blog/wp-atom.php">
	<title type="text">Wes Maldonado:  Data Junkie</title>
	<subtitle type="text">Databases, code and all things agile.</subtitle>

	<updated>2009-10-12T05:13:20Z</updated>
	<generator uri="http://wordpress.org/" version="2.6.3">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://www.brokenbuild.com/blog" />
	<id>http://www.brokenbuild.com/blog/feed/atom/</id>
	

			<geo:lat>47.630648</geo:lat><geo:long>-122.346756</geo:long><link rel="self" href="http://feeds.feedburner.com/BrokenBuildByWesMaldonado" type="application/atom+xml" /><feedburner:emailServiceId>BrokenBuildByWesMaldonado</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FBrokenBuildByWesMaldonado" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBrokenBuildByWesMaldonado" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FBrokenBuildByWesMaldonado" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/BrokenBuildByWesMaldonado" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBrokenBuildByWesMaldonado" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBrokenBuildByWesMaldonado" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBrokenBuildByWesMaldonado" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[SR-410 MP 107 10-11-2009]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/LcGMorjwjl0/" />
		<id>http://www.brokenbuild.com/blog/2009/10/11/sr-410-mp-107-10-11-2009/</id>
		<updated>2009-10-12T05:13:20Z</updated>
		<published>2009-10-12T05:13:20Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Wes's Boring Life" />		<summary type="html">



SR-410 MP 107 10-11-2009

Originally uploaded by Washington State Dept of Transportation



It takes a giant landslide to destroy a quarter mile of road way.   It&amp;#8217;s the end of summer, it hasn&amp;#8217;t rained yet here&amp;#8230; what was the tipping point for it?

</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2009/10/11/sr-410-mp-107-10-11-2009/">&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt;
&lt;a href="http://www.flickr.com/photos/wsdot/4003593326/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');" title="photo sharing"&gt;&lt;img src="http://farm3.static.flickr.com/2457/4003593326_a652bf3659_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;
&lt;a href="http://www.flickr.com/photos/wsdot/4003593326/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"&gt;SR-410 MP 107 10-11-2009&lt;/a&gt;
&lt;br /&gt;
Originally uploaded by &lt;a href="http://www.flickr.com/people/wsdot/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.flickr.com');"&gt;Washington State Dept of Transportation&lt;/a&gt;
&lt;/span&gt;
&lt;/div&gt;

&lt;p&gt;It takes a giant landslide to destroy a quarter mile of road way.   It&amp;#8217;s the end of summer, it hasn&amp;#8217;t rained yet here&amp;#8230; what was the tipping point for it?
&lt;br clear="all" /&gt;&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=LcGMorjwjl0:Rd19v9KBA6I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=LcGMorjwjl0:Rd19v9KBA6I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=LcGMorjwjl0:Rd19v9KBA6I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=LcGMorjwjl0:Rd19v9KBA6I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=LcGMorjwjl0:Rd19v9KBA6I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=LcGMorjwjl0:Rd19v9KBA6I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=LcGMorjwjl0:Rd19v9KBA6I:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=LcGMorjwjl0:Rd19v9KBA6I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=LcGMorjwjl0:Rd19v9KBA6I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/LcGMorjwjl0" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2009/10/11/sr-410-mp-107-10-11-2009/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2009/10/11/sr-410-mp-107-10-11-2009/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2009/10/11/sr-410-mp-107-10-11-2009/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Cleaning up your Address Book on OS X with Ruby]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/sHg4UArxdLo/" />
		<id>http://www.brokenbuild.com/blog/?p=675</id>
		<updated>2009-05-10T07:30:46Z</updated>
		<published>2009-05-10T07:14:53Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Wes's Boring Life" />		<summary type="html">Lately I&amp;#8217;ve been working on mailing out wedding invitations.  The easiest way to print address labels on OS X is to select contacts or a group in Address Book, hit print and change the Page option to &amp;#8220;Avery Standard&amp;#8221; then select the label type.  Easy.  The hard part is getting all those [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2009/05/09/cleaning-up-your-address-book-on-os-x-with-ruby/">&lt;p&gt;Lately I&amp;#8217;ve been working on mailing out wedding invitations.  The easiest way to print address labels on OS X is to select contacts or a group in Address Book, hit print and change the Page option to &amp;#8220;Avery Standard&amp;#8221; then select the label type.  Easy.  The hard part is getting all those addresses in there in the first place and then organizing them.  My problem was that I imported things incorrectly a number of times and filled my address book with 1500 or so broken contacts.  That made it really hard to call someone because I had 15 very similar looking entries for each person.  Fortunately all the addresses I imported were missing phone numbers, so I knew I could group them together easily (with a smart group) but how could I script the name edits like &amp;#8220;Add &amp;#8216;&amp;amp; Guest&amp;#8217; if the name doesn&amp;#8217;t include an &amp;amp;&amp;#8221;?  Not to mention I didn&amp;#8217;t want to end up with contacts like &amp;#8220;Joe Smith&amp;#8221; next to one named &amp;#8220;Joe Smith &amp;amp; Guest&amp;#8221;!&lt;/p&gt;

&lt;p&gt;First I tried to do this with AppleScript and 25 minutes into it had something working, but working with AppleScript is so strange, I needed ruby!  In 10 minutes I had the following script written and now I could also use ruby to push/pull/stretch and tweak all the data I have in Address Book already, yay.&lt;/p&gt;

&lt;script src="http://gist.github.com/109513.js"&gt;&lt;noscript&gt;
You are seeing the raw gist output because you do not have scripting enabled or this was displayed via RSS.  Visit my http://www.brokenbuild.com/blog/2009/05/10/scripting-addr…os-x-with-rubyscripting-address-book-on-os-x-with-ruby/ to get a link to the original gist.
&lt;pre&gt;
require 'rubygems'
require 'appscript'

include Appscript

ab = app("Address Book")

group_name = "Missing Phone Numbers"

if ab.groups['Missing Phone Numbers'].eq(:missing_value)
   puts "Creating a group named '#{group_name}'"
   ab.make(:new =&gt; :group, :with_properties =&gt; {:name =&gt; group_name})
end

ab.people[its.phones.eq([])].add(:to =&gt; ab.groups[group_name])

ab.save_addressbook&lt;/pre&gt;&lt;/script&gt;

&lt;p&gt;Here is the AppleScript version of the same script:&lt;/p&gt;

&lt;script src="http://gist.github.com/109515.js"&gt;&lt;noscript&gt;
You are seeing the raw gist output because you do not have scripting enabled or this was displayed via RSS.  Visit my http://www.brokenbuild.com/blog/2009/05/10/scripting-addr…os-x-with-rubyscripting-address-book-on-os-x-with-ruby/ to get a link to the original gist.
&lt;pre&gt;
&lt;/pre&gt;&lt;/script&gt;

&lt;p&gt;Here is a great reference for how to work with &lt;a href="http://www.mactech.com/articles/mactech/Vol.21/21.10/ScriptingAddressBook/index.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.mactech.com');"&gt;Address Book from AppleScript&lt;/a&gt; that you can combine with the &lt;a href="http://appscript.sourceforge.net/rb-appscript/doc/appscript-manual/12_commandexamples.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/appscript.sourceforge.net');"&gt;rb-appscript guide on commands&lt;/a&gt; to add new contacts, etc.  Now I&amp;#8217;ll leave it up to you to go write a script to update your contacts picture in Address Book from their facebook, linked in, gravatar or other photo.  Or perhaps see if they have a &lt;a href="http://dandyid.org" onclick="javascript:pageTracker._trackPageview('/outbound/article/dandyid.org');"&gt;DandyID&lt;/a&gt; and add all their associated accounts to their contact entry.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sHg4UArxdLo:AM2hpAkIxmA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sHg4UArxdLo:AM2hpAkIxmA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sHg4UArxdLo:AM2hpAkIxmA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=sHg4UArxdLo:AM2hpAkIxmA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sHg4UArxdLo:AM2hpAkIxmA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=sHg4UArxdLo:AM2hpAkIxmA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sHg4UArxdLo:AM2hpAkIxmA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sHg4UArxdLo:AM2hpAkIxmA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=sHg4UArxdLo:AM2hpAkIxmA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/sHg4UArxdLo" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2009/05/09/cleaning-up-your-address-book-on-os-x-with-ruby/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2009/05/09/cleaning-up-your-address-book-on-os-x-with-ruby/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2009/05/09/cleaning-up-your-address-book-on-os-x-with-ruby/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Exploring test driven development with Javascript: A look at jsunit, JSSpec, and Screw.Unit]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/sd5_maAcbfU/" />
		<id>http://www.brokenbuild.com/blog/?p=647</id>
		<updated>2008-11-17T21:30:32Z</updated>
		<published>2008-11-17T19:24:49Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Wes's Boring Life" />		<summary type="html">I gave a talk at Seattle Code Camp on testing Javascript  about TDD (test driven development) in Javascript using jsunit, JSSpec and Screw.Unit.  One thing to come out of this is a github project that is setup to allow you to test your javascript against all three frameworks in one package:


  http://github.com/wesmaldonado/test-driven-javascript-example-application/tree/master


Just [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/11/17/exploring-test-driven-development-with-javascript-a-look-at-jsunit-jsspec-and-screwunit/">&lt;p&gt;I gave a talk at Seattle Code Camp on testing Javascript  about TDD (test driven development) in Javascript using jsunit, JSSpec and Screw.Unit.  One thing to come out of this is a github project that is setup to allow you to test your javascript against all three frameworks in one package:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://github.com/wesmaldonado/test-driven-javascript-example-application/tree/master" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');"&gt;http://github.com/wesmaldonado/test-driven-javascript-example-application/tree/master&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just want to see what the same tests look like between the frameworks?  Here you go!  A &lt;a href="http://github.com/wesmaldonado/test-driven-javascript-example-application/tree/master/public/jsunit/test_cat.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');"&gt;jsunit example&lt;/a&gt;, &lt;a href="http://github.com/wesmaldonado/test-driven-javascript-example-application/tree/master/spec/javascripts/jsspec/cat_spec.js" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');"&gt;JSSpec example&lt;/a&gt;, &lt;a href="http://github.com/wesmaldonado/test-driven-javascript-example-application/tree/master/spec/javascripts/screw-unit/cat_spec.js" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');"&gt;Screw.Unit example&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The presentation was a walk through the code, so there aren&amp;#8217;t slides yet, &lt;a href="/blog/wes-maldonado-contact-information/"&gt;contact me&lt;/a&gt; if you&amp;#8217;re interested  in having me present at your company or to your group.&lt;/p&gt;

&lt;p&gt;Many thanks to &lt;a href="http://www.workingwithrails.com/person/12269-nick-kallen" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.workingwithrails.com');"&gt;Nick Kallen&lt;/a&gt; for Screw.Unit and other various Javascript hackery.  &lt;a href="http://www.workingwithrails.com/person/8888-brian-takita" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.workingwithrails.com');"&gt;Brian Takita&lt;/a&gt; for JSSpec/Screw.Unit servers , &lt;a href="http://pivotallabs.com/users/edward/blog" onclick="javascript:pageTracker._trackPageview('/outbound/article/pivotallabs.com');"&gt;Edward Hieatt&lt;/a&gt; for JsUnit and the blog posts about testing javascript.  Finally, I want to thank all all the people at &lt;a href="http://www.pivotallabs.com" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.pivotallabs.com');"&gt;Pivotal Labs&lt;/a&gt; for the countless hours of pair programing that led to me learning these libraries and testing techniques.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sd5_maAcbfU:mul1TfgJdHo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sd5_maAcbfU:mul1TfgJdHo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sd5_maAcbfU:mul1TfgJdHo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=sd5_maAcbfU:mul1TfgJdHo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sd5_maAcbfU:mul1TfgJdHo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=sd5_maAcbfU:mul1TfgJdHo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sd5_maAcbfU:mul1TfgJdHo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=sd5_maAcbfU:mul1TfgJdHo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=sd5_maAcbfU:mul1TfgJdHo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/sd5_maAcbfU" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/11/17/exploring-test-driven-development-with-javascript-a-look-at-jsunit-jsspec-and-screwunit/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/11/17/exploring-test-driven-development-with-javascript-a-look-at-jsunit-jsspec-and-screwunit/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/11/17/exploring-test-driven-development-with-javascript-a-look-at-jsunit-jsspec-and-screwunit/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Back to my roots, procrastinating for fun and profit!]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/SiV7UnJpY_0/" />
		<id>http://www.brokenbuild.com/blog/2008/08/06/back-to-my-roots-procrastinating-for-fun-and-profit/</id>
		<updated>2008-08-07T05:32:14Z</updated>
		<published>2008-08-07T05:32:14Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Inbetween Jobs" />		<summary type="html">
  The psychological principle is this: anyone can do any amount of work,
  provided it isn&amp;#8217;t the work he is supposed to be doing at that moment.
  
  Robert Benchley


For the next month I will be free to wander around aimlessly.  If you&amp;#8217;ve been wanting to hang out with me [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/08/06/back-to-my-roots-procrastinating-for-fun-and-profit/">&lt;blockquote&gt;
  &lt;p&gt;The psychological principle is this: anyone can do any amount of work,
  provided it isn&amp;#8217;t the work he is supposed to be doing at that moment.&lt;/p&gt;
  
  &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Robert_Benchley" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');"&gt;Robert Benchley&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For the next month I will be free to wander around aimlessly.  If you&amp;#8217;ve been wanting to hang out with me for any reason, the time is now.  Call me at +1 206.240.4233 to get my attention, I might be available.  I might be more available if you offer any of the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breakfast&lt;/li&gt;
&lt;li&gt;Private Suites at Safeco for Mariners games&lt;/li&gt;
&lt;li&gt;Sushi&lt;/li&gt;
&lt;li&gt;Coffee/beer/tea and an interesting topic&lt;/li&gt;
&lt;li&gt;Free stuff (llamas and ponies not accepted at this time)&lt;/li&gt;
&lt;li&gt;Speaking engagements wherein I may ramble aimlessly&lt;/li&gt;
&lt;li&gt;Pogo Stick Jousting Facilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks!  I&amp;#8217;ll leave you with the rest of the essay from Robert Benchley, &lt;a href="http://www.hackvan.com/pub/stig/etext/how-to-get-things-done-despite-procrastination.txt" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.hackvan.com');"&gt;How To Get Things Done&lt;/a&gt;, available from &lt;a href="http://www.amazon.com/Benchley-Roundup-Selection-Nathaniel-Favorites/dp/0226042189" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.amazon.com');"&gt;this compilation of his essays&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Let us see how this works out in practice. Let us say that I have five
  things which have to be done before the end of the week: (1) a basketful of
  letters to be answered, some of them dating from October, 1928 (2) some
  bookshelves to be put up and arranged with books (3) a hair-cut to get (4) a
  pile of scientific magazines to go through and clip (I am collecting all
  references to tropical fish that I can find, with the idea of someday buying
  myself one) and (5) an article to write for this paper.&lt;/p&gt;
  
  &lt;p&gt;Now. With these five tasks staring me in the face on Monday morning, it is
  little wonder that I go right back to bed as soon as I have had breakfast,
  in order to store up health and strength for the almost superhuman
  expenditure of energy that is to come.  Mens sana in corpore sano is my
  motto.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Found via &lt;cite&gt;&lt;a href="http://blog.pmarca.com/2007/06/the_pmarca_guid.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.pmarca.com');"&gt;The Pmarca Guide to Personal Productivity&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=SiV7UnJpY_0:n5UDc3laou4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=SiV7UnJpY_0:n5UDc3laou4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=SiV7UnJpY_0:n5UDc3laou4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=SiV7UnJpY_0:n5UDc3laou4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=SiV7UnJpY_0:n5UDc3laou4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=SiV7UnJpY_0:n5UDc3laou4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=SiV7UnJpY_0:n5UDc3laou4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=SiV7UnJpY_0:n5UDc3laou4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=SiV7UnJpY_0:n5UDc3laou4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/SiV7UnJpY_0" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/08/06/back-to-my-roots-procrastinating-for-fun-and-profit/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/08/06/back-to-my-roots-procrastinating-for-fun-and-profit/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/08/06/back-to-my-roots-procrastinating-for-fun-and-profit/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Handling Eventual Consistency with Amazon SimpleDB and Ruby]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/44SelrCBqbE/" />
		<id>http://www.brokenbuild.com/blog/2008/08/05/handling-eventual-consistency-with-amazon-simpledb-and-ruby/</id>
		<updated>2008-08-05T19:53:02Z</updated>
		<published>2008-08-05T19:53:02Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Amazon" /><category scheme="http://www.brokenbuild.com/blog" term="Amazon SimpleDB" /><category scheme="http://www.brokenbuild.com/blog" term="Ruby" />		<summary type="html">
  Eventual consistency. The storage system guarantees that if no new updates are made to the object eventually (after the inconsistency window closes) all accesses will return the last updated value.


My coworker wrote up our experience writing ruby integration tests against Amazon SimpleDB.  You should know that we were in an integration test [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/08/05/handling-eventual-consistency-with-amazon-simpledb-and-ruby/">&lt;blockquote&gt;
  &lt;p&gt;Eventual consistency. The storage system guarantees that if no new updates are made to the object eventually (after the inconsistency window closes) all accesses will return the last updated value.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;My coworker wrote up our experience &lt;a href="http://work.onemanswalk.com/2008/8/5/eventual-consistency-or-things-will-all-work-out-eventually" onclick="javascript:pageTracker._trackPageview('/outbound/article/work.onemanswalk.com');"&gt;writing ruby integration tests against Amazon SimpleDB&lt;/a&gt;.  You should know that we were in an integration test that runs infrequently.  &lt;em&gt;Production code should not use this retry method.&lt;/em&gt;  You should be using exponential back off &lt;em&gt;when&lt;/em&gt; you get an error code.  I&amp;#8217;ve heard that not doing this is the equivalent of crossing-the-streams in Ghost Busters.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=44SelrCBqbE:xECYDzjIRls:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=44SelrCBqbE:xECYDzjIRls:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=44SelrCBqbE:xECYDzjIRls:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=44SelrCBqbE:xECYDzjIRls:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=44SelrCBqbE:xECYDzjIRls:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=44SelrCBqbE:xECYDzjIRls:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=44SelrCBqbE:xECYDzjIRls:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=44SelrCBqbE:xECYDzjIRls:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=44SelrCBqbE:xECYDzjIRls:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/44SelrCBqbE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/08/05/handling-eventual-consistency-with-amazon-simpledb-and-ruby/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/08/05/handling-eventual-consistency-with-amazon-simpledb-and-ruby/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/08/05/handling-eventual-consistency-with-amazon-simpledb-and-ruby/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Getting Git, Subversion and Bazaar Version Control Information into your Bash Prompt]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/RbSrcZDrruY/" />
		<id>http://www.brokenbuild.com/blog/2008/06/30/getting-git-subversion-and-bazaar-version-control-information-into-your-bash-prompt/</id>
		<updated>2008-06-30T19:42:42Z</updated>
		<published>2008-06-30T19:42:42Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Bash" /><category scheme="http://www.brokenbuild.com/blog" term="Git" /><category scheme="http://www.brokenbuild.com/blog" term="SCM" /><category scheme="http://www.brokenbuild.com/blog" term="Subversion" /><category scheme="http://www.brokenbuild.com/blog" term="Unix" />		<summary type="html">Here are some must have bash PS1 commands if you&amp;#8217;re working in multiple branches with various SCMs like git, svn or bzr.  With this in your .bash_profile you&amp;#8217;ll end up getting the following PS1


  wesmaldonado:(git)gchartrb[master]/$
  
  wesmaldonado:(svn)wumpus_project[trunk:141279]/$


Found at Lazy Bash cd aliases.  The latest can be pulled from github:


  [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/06/30/getting-git-subversion-and-bazaar-version-control-information-into-your-bash-prompt/">&lt;p&gt;Here are some must have bash PS1 commands if you&amp;#8217;re working in multiple branches with various SCMs like git, svn or bzr.  With this in your .bash_profile you&amp;#8217;ll end up getting the following PS1&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;wesmaldonado:(git)gchartrb[master]/$&lt;/p&gt;
  
  &lt;p&gt;wesmaldonado:(svn)wumpus_project[trunk:141279]/$&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Found at &lt;a href="http://muness.blogspot.com/2008/06/lazy-bash-cd-aliaes.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/muness.blogspot.com');"&gt;Lazy Bash cd aliases&lt;/a&gt;.  The latest can be &lt;a href="http://github.com/relevance/etc/tree/master/bash/bash_vcs.sh" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');"&gt;pulled from github&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href="http://github.com/relevance/etc/tree/master/bash/bash_vcs.sh" onclick="javascript:pageTracker._trackPageview('/outbound/article/github.com');"&gt;http://github.com/relevance/etc/tree/master/bash/bash_vcs.sh&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=RbSrcZDrruY:y1bpN7CNxNU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=RbSrcZDrruY:y1bpN7CNxNU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=RbSrcZDrruY:y1bpN7CNxNU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=RbSrcZDrruY:y1bpN7CNxNU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=RbSrcZDrruY:y1bpN7CNxNU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=RbSrcZDrruY:y1bpN7CNxNU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=RbSrcZDrruY:y1bpN7CNxNU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=RbSrcZDrruY:y1bpN7CNxNU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=RbSrcZDrruY:y1bpN7CNxNU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/RbSrcZDrruY" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/06/30/getting-git-subversion-and-bazaar-version-control-information-into-your-bash-prompt/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/06/30/getting-git-subversion-and-bazaar-version-control-information-into-your-bash-prompt/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/06/30/getting-git-subversion-and-bazaar-version-control-information-into-your-bash-prompt/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Seattle&#8217;s Interbay is no South Lake Union]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/bgLJrMwwWyQ/" />
		<id>http://www.brokenbuild.com/blog/2008/06/23/seattles-interbay-is-no-south-lake-union/</id>
		<updated>2008-06-23T15:22:20Z</updated>
		<published>2008-06-23T15:22:20Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Seattle" /><category scheme="http://www.brokenbuild.com/blog" term="Wes's Boring Life" />		<summary type="html">
  &amp;#8220;You can&amp;#8217;t compare this to South Lake Union or downtown,&amp;#8221; he says. &amp;#8220;Not all areas are created equal.&amp;#8221;
  Jeff Thompson, of the Freehold Group, the development company that has spearheaded the Dravus effort
  Seattle Times:  Red tape fences in Interbay overhaul


Have a look at this google map for a compare [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/06/23/seattles-interbay-is-no-south-lake-union/">&lt;blockquote&gt;
  &lt;p&gt;&amp;#8220;You can&amp;#8217;t compare this to South Lake Union or downtown,&amp;#8221; he says. &amp;#8220;Not all areas are created equal.&amp;#8221;
  Jeff Thompson, of the Freehold Group, the development company that has spearheaded the Dravus effort
  &lt;cite&gt;&lt;a href="http://seattletimes.nwsource.com/html/businesstechnology/2004141864_interbay24.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/seattletimes.nwsource.com');"&gt;Seattle Times:  Red tape fences in Interbay overhaul&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Have a look at this google map for a compare and contrast&lt;/p&gt;

&lt;iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;om=0&amp;amp;msa=0&amp;amp;msid=110098621074938886352.0004447ae8db5a40d36f9&amp;amp;ll=47.639716,-122.331219&amp;amp;spn=0.071249,0.166512&amp;amp;t=h&amp;amp;output=embed&amp;amp;s=AARTsJqvLVtkdRAaF222awnNoVbBv8Viiw"&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;om=0&amp;amp;msa=0&amp;amp;msid=110098621074938886352.0004447ae8db5a40d36f9&amp;amp;ll=47.639716,-122.331219&amp;amp;spn=0.071249,0.166512&amp;amp;t=h&amp;amp;source=embed" onclick="javascript:pageTracker._trackPageview('/outbound/article/maps.google.com');" style="color:#0000FF;text-align:left"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=bgLJrMwwWyQ:8WXiYzh8zjs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=bgLJrMwwWyQ:8WXiYzh8zjs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=bgLJrMwwWyQ:8WXiYzh8zjs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=bgLJrMwwWyQ:8WXiYzh8zjs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=bgLJrMwwWyQ:8WXiYzh8zjs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=bgLJrMwwWyQ:8WXiYzh8zjs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=bgLJrMwwWyQ:8WXiYzh8zjs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=bgLJrMwwWyQ:8WXiYzh8zjs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=bgLJrMwwWyQ:8WXiYzh8zjs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/bgLJrMwwWyQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/06/23/seattles-interbay-is-no-south-lake-union/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/06/23/seattles-interbay-is-no-south-lake-union/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/06/23/seattles-interbay-is-no-south-lake-union/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Found in the spam filter, a relationship failure borne of HTTP error codes]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/DGaOqpPUPLw/" />
		<id>http://www.brokenbuild.com/blog/2008/06/18/found-in-the-spam-filter-a-relationship-failure-borne-of-http-error-codes/</id>
		<updated>2008-06-18T21:21:49Z</updated>
		<published>2008-06-18T21:21:49Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="HTTP" /><category scheme="http://www.brokenbuild.com/blog" term="Love" /><category scheme="http://www.brokenbuild.com/blog" term="Seattle" />		<summary type="html">A story about an internet crush&amp;#8230;


  â€¦ a few weeks later when I checked my spam filter. â€œCongratsâ€“most women have to meet me at least twice before a crush wears off,â€ heâ€™d replied. Cute. I replied, and we ended up having a bizarre but hilarious (to us) discussion about HTTP error codes. (Reproduced after [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/06/18/found-in-the-spam-filter-a-relationship-failure-borne-of-http-error-codes/">&lt;p&gt;A story about an internet crush&amp;#8230;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;â€¦ a few weeks later when I checked my spam filter. â€œCongratsâ€“most women have to meet me at least twice before a crush wears off,â€ heâ€™d replied. Cute. I replied, and we ended up having a bizarre but hilarious (to us) discussion about HTTP error codes. (Reproduced after the jump for the curious.) Fellow Metblogger Josh once told me upon reading that conversation, â€œI canâ€™t imagine how things between the two of you didnâ€™t work out.â€ And sometimes I wonder the same thing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Go read the ongoing story at &lt;a href="http://feeds.feedburner.com/~r/MetrobloggingSeattle/~3/314747381/" onclick="javascript:pageTracker._trackPageview('/outbound/article/feeds.feedburner.com');"&gt;Single in Seattle: Blogger Boy No. 2&lt;/a&gt;&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=DGaOqpPUPLw:KgV8lzgVIjE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=DGaOqpPUPLw:KgV8lzgVIjE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=DGaOqpPUPLw:KgV8lzgVIjE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=DGaOqpPUPLw:KgV8lzgVIjE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=DGaOqpPUPLw:KgV8lzgVIjE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=DGaOqpPUPLw:KgV8lzgVIjE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=DGaOqpPUPLw:KgV8lzgVIjE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=DGaOqpPUPLw:KgV8lzgVIjE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=DGaOqpPUPLw:KgV8lzgVIjE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/DGaOqpPUPLw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/06/18/found-in-the-spam-filter-a-relationship-failure-borne-of-http-error-codes/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/06/18/found-in-the-spam-filter-a-relationship-failure-borne-of-http-error-codes/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/06/18/found-in-the-spam-filter-a-relationship-failure-borne-of-http-error-codes/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Headius on Maglev:  Is it Ruby?]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/oaobDH95uXc/" />
		<id>http://www.brokenbuild.com/blog/2008/06/01/headius-on-maglev-is-it-ruby/</id>
		<updated>2008-06-01T20:43:04Z</updated>
		<published>2008-06-01T20:43:04Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="Ruby" /><category scheme="http://www.brokenbuild.com/blog" term="Smalltalk" />		<summary type="html">Charles Nutter had the following to say on the maglev ruby performance numbers:


  Except that these are results reported entirely in a vacuum. Whether this is fib following the &amp;#8220;rules&amp;#8221; of Ruby is entirely an open question. Whether this is method dispatch adhering to Ruby&amp;#8217;s call logic is entirely an open question. Whether this [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/06/01/headius-on-maglev-is-it-ruby/">&lt;p&gt;Charles Nutter had the following to say on the &lt;a href="http://ruby.gemstone.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/ruby.gemstone.com');"&gt;maglev ruby&lt;/a&gt; performance numbers:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Except that these are results reported entirely in a vacuum. Whether this is fib following the &amp;#8220;rules&amp;#8221; of Ruby is entirely an open question. Whether this is method dispatch adhering to Ruby&amp;#8217;s call logic is entirely an open question. Whether this is a while loop using all method calls for its condition and increment steps is an open quesetion. Because the Maglev guys haven&amp;#8217;t started running Ruby tests yet. Is it Ruby?
  &lt;a href="http://headius.blogspot.com/2008/06/maglev.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/headius.blogspot.com');"&gt;http://headius.blogspot.com/2008/06/maglev.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am interested in &lt;a href="http://ruby.gemstone.com/" onclick="javascript:pageTracker._trackPageview('/outbound/article/ruby.gemstone.com');"&gt;maglev ruby&lt;/a&gt; because I&amp;#8217;ve met some amazing smalltalkers who worked on large systems using gemstone.  Want to know more about the size of systems gemstone is designed for?  Have a read through this PDF: &lt;a href="http://www.gemstone.com/pdf/OOCL_SuccessStory.pdf"&gt;GemStone and Orient Overseas Container Lines:A Shipping Industry Case Study
&lt;/a&gt;  I think having more implementations is a great thing and will help&lt;/p&gt;

&lt;p&gt;What do you think?  Will the we use it if it&amp;#8217;s closed source?  I bet some people will, if nothing else this primes the pump for the next generation of programmers that will maintain systems like those of OOCL.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=oaobDH95uXc:e2ToAdjJdKM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=oaobDH95uXc:e2ToAdjJdKM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=oaobDH95uXc:e2ToAdjJdKM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=oaobDH95uXc:e2ToAdjJdKM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=oaobDH95uXc:e2ToAdjJdKM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=oaobDH95uXc:e2ToAdjJdKM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=oaobDH95uXc:e2ToAdjJdKM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=oaobDH95uXc:e2ToAdjJdKM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=oaobDH95uXc:e2ToAdjJdKM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/oaobDH95uXc" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/06/01/headius-on-maglev-is-it-ruby/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/06/01/headius-on-maglev-is-it-ruby/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/06/01/headius-on-maglev-is-it-ruby/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>Wes</name>
					</author>
		<title type="html"><![CDATA[Checking Gmail POP+SSL with Ruby 1.8.6 in 10 minutes or less.]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BrokenBuildByWesMaldonado/~3/T3zcKTVGKhE/" />
		<id>http://www.brokenbuild.com/blog/2008/05/23/checking-gmail-popssl-with-ruby-186-in-10-minutes-or-less/</id>
		<updated>2008-05-24T01:19:54Z</updated>
		<published>2008-05-24T01:19:54Z</published>
		<category scheme="http://www.brokenbuild.com/blog" term="GMail" /><category scheme="http://www.brokenbuild.com/blog" term="Ruby" />		<summary type="html">I needed to check Gmail via POP + SSL and didn&amp;#8217;t want to use Ruby 1.9, what did I do?

Step 1:  Install the latest version of stunnel

Step 2:  Put the contents of the stunnel config file you see below some place convenient like ~/gmail-pop-stunnel.conf


  foreground = yes
  
  client = [...]</summary>
		<content type="html" xml:base="http://www.brokenbuild.com/blog/2008/05/23/checking-gmail-popssl-with-ruby-186-in-10-minutes-or-less/">&lt;p&gt;I needed to check Gmail via POP + SSL and didn&amp;#8217;t want to use Ruby 1.9, what did I do?&lt;/p&gt;

&lt;p&gt;Step 1:  Install the latest version of &lt;a href="http://www.stunnel.org/download/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stunnel.org');"&gt;stunnel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step 2:  Put the contents of the stunnel config file you see below some place convenient like ~/gmail-pop-stunnel.conf&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;foreground = yes&lt;/p&gt;
  
  &lt;p&gt;client = yes&lt;/p&gt;
  
  &lt;p&gt;pid =&lt;/p&gt;
  
  &lt;p&gt;[gmail]&lt;/p&gt;
  
  &lt;p&gt;delay = yes&lt;/p&gt;
  
  &lt;p&gt;accept = localhost:10000&lt;/p&gt;
  
  &lt;p&gt;connect = pop.gmail.com:995&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Step 3:  Start up stunnel&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;$ stunnel ~/gmail-pop-stunnel.conf &amp;amp;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Step 4:  Fire up a Ruby program to pull down the messages.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;require &amp;#8216;net/pop&amp;#8217;&lt;/p&gt;
  
  &lt;p&gt;conn = Net::POP3.new(&amp;#8217;localhost:10000&amp;#8242;)&lt;/p&gt;
  
  &lt;p&gt;conn.start(&amp;#8217;your_address@gmail.com&amp;#8217;, &amp;#8216;your_password&amp;#8217;)&lt;/p&gt;
  
  &lt;p&gt;conn.mails.each { |msg|  puts msg.pop }&lt;/p&gt;
  
  &lt;p&gt;msg.delete  # your choice to delete or not&lt;/p&gt;
  
  &lt;p&gt;end&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The source for this script shamelessly stolen from The Ruby Cookbook&lt;/p&gt;

&lt;iframe src="http://rcm.amazon.com/e/cm?t=brokenbudataj-20&amp;#038;o=1&amp;#038;p=8&amp;#038;l=as1&amp;#038;asins=0596523696&amp;#038;fc1=000000&amp;#038;IS2=1&amp;#038;lt1=_blank&amp;#038;lc1=0000FF&amp;#038;bc1=000000&amp;#038;bg1=FFFFFF&amp;#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;

&lt;p&gt;And you should be aware that this is &lt;a href="http://www.tbray.org/ongoing/When/200x/2008/04/30/PDML-Twitter-Mashup#c1209823905.819791" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.tbray.org');"&gt;technically a violation of google&amp;#8217;s terms of service&lt;/a&gt;, but if you aren&amp;#8217;t doing anything other than what you could do through Outlook Express you probably aren&amp;#8217;t causing trouble.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=T3zcKTVGKhE:wpwaThUQCpo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=T3zcKTVGKhE:wpwaThUQCpo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=T3zcKTVGKhE:wpwaThUQCpo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=T3zcKTVGKhE:wpwaThUQCpo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=T3zcKTVGKhE:wpwaThUQCpo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=T3zcKTVGKhE:wpwaThUQCpo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=T3zcKTVGKhE:wpwaThUQCpo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?a=T3zcKTVGKhE:wpwaThUQCpo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrokenBuildByWesMaldonado?i=T3zcKTVGKhE:wpwaThUQCpo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrokenBuildByWesMaldonado/~4/T3zcKTVGKhE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.brokenbuild.com/blog/2008/05/23/checking-gmail-popssl-with-ruby-186-in-10-minutes-or-less/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.brokenbuild.com/blog/2008/05/23/checking-gmail-popssl-with-ruby-186-in-10-minutes-or-less/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.brokenbuild.com/blog/2008/05/23/checking-gmail-popssl-with-ruby-186-in-10-minutes-or-less/</feedburner:origLink></entry>
	</feed>
