<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>a regular expression</title>
	<atom:link href="http://johnnywey.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://johnnywey.wordpress.com</link>
	<description>life, technology, and the vast expanse</description>
	<lastBuildDate>Tue, 14 Apr 2009 16:02:54 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/10bdc75575dba7a1fdf335ffee292bb4?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>a regular expression</title>
		<link>http://johnnywey.wordpress.com</link>
	</image>
			<item>
		<title>Adding SOAP Headers to CXF Calls</title>
		<link>http://johnnywey.wordpress.com/2009/04/09/adding-soap-headers-to-cxf-calls/</link>
		<comments>http://johnnywey.wordpress.com/2009/04/09/adding-soap-headers-to-cxf-calls/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 17:48:01 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=301</guid>
		<description><![CDATA[Recently, I consumed a WSDL with Apache CXF that required authentication information to be placed into a SOAP Header rather than through standard HTTP authentication.  This is all well and good, but I couldn&#8217;t figure out how to attach the headers to the CXF method calls.  The authentication object had been generated by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=301&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Recently, I consumed a WSDL with <a href="http://cxf.apache.org/">Apache CXF</a> that required authentication information to be placed into a <a href="http://www.w3schools.com/soap/soap_header.asp">SOAP Header</a> rather than through standard HTTP authentication.  This is all well and good, but I couldn&#8217;t figure out how to attach the headers to the CXF method calls.  The authentication object had been generated by CXF, but there was no way to attach the object to the other methods.</p>
<p>After some research, I found the answer.  Adding <code>-exsh true</code> to WSDL2JAVA updated the method signatures to include the header object as a valid parameter.  If you&#8217;re cool like me and use the <a href="http://cwiki.apache.org/CXF20DOC/maven-integration-and-plugin.html">CXF Maven code generator plugin</a>, the XML looks like this:<br />
<code></p>
<pre>
&lt;execution&gt;
&lt;id&gt;generate-sources-vixxi&lt;/id&gt;
  &lt;phase&gt;generate-sources&lt;/phase&gt;
    &lt;configuration&gt;
      &lt;sourceRoot&gt;target/generated-sources&lt;/sourceRoot&gt;
        &lt;wsdlOptions&gt;
          &lt;wsdlOption&gt;
            &lt;extraargs&gt;
              &lt;extraarg&gt;-exsh&lt;/extraarg&gt;
              &lt;extraarg&gt;true&lt;/extraarg&gt;
            &lt;/extraargs&gt;
          &lt;wsdl&gt;yourWSDLPathHere&lt;/wsdl&gt;
        &lt;/wsdlOption&gt;
      &lt;/wsdlOptions&gt;
    &lt;/configuration&gt;
    &lt;goals&gt;
      &lt;goal&gt;wsdl2java&lt;/goal&gt;
    &lt;/goals&gt;
&lt;/execution&gt;
</pre>
<p></code><br />
<br />
I verified this works with CXF 2.0.9 and 2.1.4.  I haven&#8217;t tested it on any other versions, but I don&#8217;t see any reason why it wouldn&#8217;t work on 2.0.9+.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/301/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/301/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/301/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=301&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2009/04/09/adding-soap-headers-to-cxf-calls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>An Example of a Poor UI and Poor Customer Service</title>
		<link>http://johnnywey.wordpress.com/2009/03/04/an-example-of-a-poor-ui-and-poor-customer-service/</link>
		<comments>http://johnnywey.wordpress.com/2009/03/04/an-example-of-a-poor-ui-and-poor-customer-service/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 04:17:34 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=294</guid>
		<description><![CDATA[Or, perhaps more fittingly, why I am unhappy with Comcast.
Since I got back to Colorado from Hawaii in 2003, I&#8217;ve used, and been relatively happy with, Comcast broadband Internet.  There have been issues, but nothing that has been so bad as for me to consider moving to another service.
Unfortunately, that changed last week.
Let me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=294&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><em>Or, perhaps more fittingly, why I am unhappy with Comcast.</em></p>
<p>Since I got back to Colorado from Hawaii in 2003, I&#8217;ve used, and been relatively happy with, Comcast broadband Internet.  There have been issues, but nothing that has been so bad as for me to consider moving to another service.</p>
<p>Unfortunately, that changed last week.</p>
<p>Let me back up and say that I don&#8217;t often use my Blog to call out a company for something irritating (that&#8217;s usually relegated to <a href="http://www.twitter.com/johnnywey">Twitter</a>).  In this case, however, I feel it a good object lesson in how poor design coupled with horrible customer service can transform a (mostly) satisfied customer and cause them to look into other options.</p>
<p>What took place is pretty simple to understand.  My wife and I share the account, and her email address is one of the six email accounts that I can have attached to our service.  She decided she wanted to add another address.  What she didn&#8217;t know, and what the UI didn&#8217;t tell her (in <span style="color:#ff0000;"><strong>BIG RED WARNING LETTERS</strong></span>) was she was actually <em>changing</em> her email account.  Without any &#8220;are you sure you understand what you are doing and want to do this?&#8221; type of dialog, her email address was changed and her previous account stopped receiving mail immediately.</p>
<p>When she realized what happened, she frantically clicked back to get her old address re-activated, but the UI continued to tell her the username was in use <em>even though it had been deactivated</em>.</p>
<p>She called me pretty upset, and I got on the phone with Comcast.  They told me that they couldn&#8217;t do anything about the issue for a minimum of 30 days.  When I asked them why, they told me that when an email address is deactivated, it gets placed into a &#8220;holding&#8221; status for 30 days to insure another person doesn&#8217;t take the alias and start receiving mail intended for another customer.  This makes a lot of sense to me.  The odd thing is that they couldn&#8217;t re-activate it <em>for the same customer</em>!</p>
<p>I told the CSR on the phone that someone should be able to quite easily login to their database and type something like:<br />
<code><br />
update user set status="active" where username = "[Amber's username]";<br />
</code><br />
and that, while I knew <em>he</em> couldn&#8217;t do it, someone with a shiny Comcast data-center badge could.</p>
<p>After much back and forth, he finally submitted an &#8220;IT&#8221; ticket for me.  Since then, and his promise that this would be resolved in 72 hours (over a week and a half ago from today), I&#8217;ve heard nothing.</p>
<p>There are a couple of lessons here.  The first is that it is obvious Comcast doesn&#8217;t get how important an email address is.  <em>I would have rather Amber lost her phone number than her email address</em>.  From our online banking to Facebook, it is extremely difficult to change an email address when you have no access to the old one.  Most services send confirmation messages to the old email address.  The CSR I spoke with and Comcast&#8217;s policies in general around this issue prove that, while they claim to be on the vanguard of Internet technology, they just don&#8217;t get it.  At all.</p>
<p>Secondly, it is extremely easy to add UI confirmations so do it!  There is no excuse for this type of oversight whatsoever.</p>
<p>Our current plan is to switch over to Qwest Fiber as soon as it becomes available in our area.  Unfortunately, Comcast has lost our confidence.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/294/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/294/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/294/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/294/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/294/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/294/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/294/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/294/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/294/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/294/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=294&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2009/03/04/an-example-of-a-poor-ui-and-poor-customer-service/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Autocompleter.Local with Ajax Lists</title>
		<link>http://johnnywey.wordpress.com/2009/01/14/using-autocompleterlocal-with-ajax-lists/</link>
		<comments>http://johnnywey.wordpress.com/2009/01/14/using-autocompleterlocal-with-ajax-lists/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 03:20:27 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Prototype/Scriptaculous]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=289</guid>
		<description><![CDATA[The Autocompleter suite of functions in Scriptaculous are pretty nice.  While they don&#8217;t solve every autocomplete problem straight out, they do provide a good starting point.
However, the answers to problems in Javascript are not always obvious.  Despite some amazing support from Firebug, debugging is often difficult and tracing down problems can be rough.
Earlier [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=289&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The Autocompleter suite of functions in Scriptaculous are pretty nice.  While they don&#8217;t solve every autocomplete problem straight out, they do provide a good starting point.</p>
<p>However, the answers to problems in Javascript are not always obvious.  Despite some amazing support from Firebug, debugging is often difficult and tracing down problems can be rough.</p>
<p>Earlier this week, I ran into a very strange problem with Autocompleter.Local.  I was designing a page that would query the server for a list of cities in a state and load that list into the Autocompleter.  The catch was that the state could be changed at any time by the user, and the array containing the list of cities available would be updated asynchronously from the server.  (While there is an Autocompleter.Ajax for automatic server updates, this assumes the autocompletion is done on the server side which I deemed too slow to be very functional in our case.)  The specific issue I was having was that the city name was inserted into the target text field multiple times as the number of hits to the server for updated city lists increased.</p>
<p>I discovered, after looking over code in control.js, that the Autocompleter attaches event observers every time it is newed up.  These event observers are difficult to remove manually because they pass in states of the specific object that are often no longer available.  I had code that was doing something like:</p>
<pre>
<code>
[get list of city names for a state into cityNameList]
if(!autocompleter)
  autocompleter = new Autocompleter.Local('cityTextfield',
   'cityAutocompleteList', cityNameList);
</code>
</pre>
<p>but the the observers that the Autocompleter was creating were being piled up on each other every time I &#8220;reset&#8221; the Autocompleter to a new instance.</p>
<p>I discovered that the Autocompleter data is stored in the .options.array field.  While it is not documented as part of the API, updating this array effectively updated the Autocompleter without adding new event observers.  All I had to do was new up the Autocompleter variable once and then update this array field (directly; using dot notation) every time the data from the server changed.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/289/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/289/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/289/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=289&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2009/01/14/using-autocompleterlocal-with-ajax-lists/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>Manually Set Map Value in Struts 2</title>
		<link>http://johnnywey.wordpress.com/2008/12/24/manually-set-map-value-in-struts-2/</link>
		<comments>http://johnnywey.wordpress.com/2008/12/24/manually-set-map-value-in-struts-2/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 15:59:34 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Struts 2]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=281</guid>
		<description><![CDATA[Often, the Struts 2 tag library doesn&#8217;t offer enough functionality to support a nice DHTML type of layout.  In those cases, I find myself creating URLs manually to send to the action.
In most cases, this isn&#8217;t a bid deal.  However, to make it work right, you have to duplicate the format that Struts [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=281&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Often, the Struts 2 tag library doesn&#8217;t offer enough functionality to support a nice DHTML type of layout.  In those cases, I find myself creating URLs manually to send to the action.</p>
<p>In most cases, this isn&#8217;t a bid deal.  However, to make it work right, you have to duplicate the format that Struts uses to receive the data.  For example, to send a list of items (such as <code>List&lt;String&gt; names;</code>), you would format your URL to look like </p>
<p><code><br />
&amp;names=johnny&amp;names=tim&amp;names=bill<br />
</code></p>
<p>Maps are a little harder.  To create a URL to send to a map, you can use the following format:</p>
<p><code><br />
&amp;variableName[key]=value<br />
</code></p>
<p>Say you have the following map:</p>
<p><code>Map&lt;Integer, Integer&gt; userIdOrderIdMap = new HashMap&lt;Integer, Integer&gt;();</code></p>
<p>To set the map from Struts 2, you&#8217;d use the following URL string: </p>
<p><code><br />
&amp;userIdOrderIdMap[0]=1&amp;userIdOrderIdMap[10]=15</code></p>
<p>This is the equivalent of:</p>
<p><code><br />
userIdOrderIdMap.put(0, 1);<br />
userIdOrderIdMap.put(10, 15);<br />
</code></p>
<p>You will probably have to manually call encodeURIComponent() on the URL string to make sure the brackets and any other special characters are escaped properly, but you already knew that, right?</p>
<p>You can also use a dot notation (such as <code>&amp;variableName.key=value</code>), but I find that a bit counterintuitive to the way KVC types are intended to be represented.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=281&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/12/24/manually-set-map-value-in-struts-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>The Power of Unit Tests</title>
		<link>http://johnnywey.wordpress.com/2008/12/12/the-power-of-unit-tests/</link>
		<comments>http://johnnywey.wordpress.com/2008/12/12/the-power-of-unit-tests/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 13:51:24 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=270</guid>
		<description><![CDATA[Yesterday, my dev team embarked on a significant refactor of our main code base in order to merge in a branch alongside implementing new functionality and changing some existing classes.  A trifecta of complexity if you will.  For a production quality system, one that we expect to deploy very soon and is the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=270&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yesterday, my dev team embarked on a significant refactor of our main code base in order to merge in a branch alongside implementing new functionality <b>and</b> changing some existing classes.  A trifecta of complexity if you will.  For a production quality system, one that we expect to deploy very soon and is the backbone of our company&#8217;s infrastructure, you might expect us to have been a bit more careful / timid in making our changes.</p>
<p>However, you&#8217;d be wrong and it&#8217;s all because of unit tests (that and we are all rock-star engineers, but that&#8217;s another post).</p>
<p>I didn&#8217;t work with unit tests much before my current position.  This was mostly due to legacy platform limitations that did not make automated testing easy.  Now, I couldn&#8217;t live without them.  Confidence in my work is much greater now than it was previously for a good reason: unit tests give engineers power.</p>
<p>I know that the requirements of a particular class are laid out in the classes&#8217; test.  Whatever I do to the class, it must not only compile but light up green.  This gives me the boldness to make large changes without worrying that the refactor is going to negatively impact (read: break) other parts of the system.</p>
<p>Code these days often exists beyond the classes themselves and in places like configuration files and build scripts, and we&#8217;ve created tests that take these pieces of auxiliary setup into account.  Doing that extends our confidence beyond our primary classes and into our build process, database connections, and system as a cohesive whole.  Very cool.</p>
<p>Unit tests are great for creating interfaces (working with the API before you actually write the implementation is a good way to make sure it doesn&#8217;t suck), verifying complex functionality, and system integration.  The most empowering thing they offer, however, is confidence.  In an agile shop such as ours, this gives us the ability to work as quickly and fluidly as possible and is a huge factor in why our little team has been so successful.</p>
<blockquote><p>&#8220;A compiler tells you your code is well formed, a unit test tells you your code is well behaved.&#8221;</p></blockquote>
<p> &#8211; No Fluff Just Stuff, Fall 2008</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/270/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=270&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/12/12/the-power-of-unit-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>No Fluff Just Stuff</title>
		<link>http://johnnywey.wordpress.com/2008/12/06/no-fluff-just-stuff/</link>
		<comments>http://johnnywey.wordpress.com/2008/12/06/no-fluff-just-stuff/#comments</comments>
		<pubDate>Sun, 07 Dec 2008 05:52:57 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=255</guid>
		<description><![CDATA[A few weekends ago (November 14-16), I attended the No Fluff Just Stuff software symposium.  It was a three-day long event with some of the best and brightest in the Java, open source, and engineering-in-general space.  I took a lot out of this conference, and I&#8217;m looking forward to going again in the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=255&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A few weekends ago (November 14-16), I attended the <a href="http://nofluffjuststuff.com">No Fluff Just Stuff</a> software symposium.  It was a three-day long event with some of the best and brightest in the Java, open source, and engineering-in-general space.  I took a lot out of this conference, and I&#8217;m looking forward to going again in the near future.  One of the great things about going to something like this is watching how the touring speakers use different tools.  Even with applications that I use on a regular basis (such as TextMate), I was able to pull some new uses and features from the presentations.  Here is my take on the sessions I attended:</p>
<ol>
<li><b>Groovy: The Blue Pill</b> &#8211; This was the first talk from Scott Davis on Groovy.  It was designed to be an easy introduction to the Groovy space for current Java developers.  Some standout information:
<ol>
<li>Groovy compiles to Java bytecode</li>
<li>Groovy consists of only one .jar file</li>
<li>Groovy includes a lot of Java cruft built in for free (such as automatic getters/setters, default constructors, etc.)</li>
<li>Groovy can easily call Java methods and use Java objects</li>
<li>Groovy can use inline values in Strings (called &#8220;G&#8221;-strings)</li>
<li>You can easily insert XML, JSON, HTML, etc. into a Groovy string using triple quotes</li>
<li>Unit tests are a great insertion point to begin integration of Groovy into a Java application (but Groovy currently only supports JUnit 3.x and not 4.x)</li>
</li>
</ol>
<li><b>Groovy: The Red Pill</b> &#8211; This was the second talk on Groovy from Scott Davis.  This talk was intended to demonstrate the real flexibility and power of Groovy rather than simply touting its interoperability with Java:
<ol>
<li>Groovy can use &#8220;Groovy truth&#8221; which allows statements such as <br />
<code>if(array) {}</code> <br />
rather than <br />
<code>if(!(array==null || array.isEmpty())) {}</code></li>
<li>Groovy supports operator overloading</li>
<li>Groovy supports closures and has some great support for iteration through collections</li>
</ol>
</li>
<li><b>Rapid Web Development with Grails and AJAX</b> &#8211; This was the third talk on Groovy from Scott Davis which covered how Groovy and Grails integrate to create an incredible web application development experience.  Unfortunately, much of the AJAX information was cut short due to a guy in our session asking a bunch of &#8220;Rails vs. Grails&#8221; questions.  Some good points:
<ol>
<li>Grails was inspired by Rails but is not a clone of Rails</li>
<li>Grails is a full-stack solution and not simply a framework like Struts or Spring MVC</li>
<li>Grails is database agnostic and supports practically every Hibernate dialect available</li>
<li>Grails has some great IDE support</li>
<li>Grails has great built-in AJAX and scaffolding support</li>
</ol>
</li>
<li><b>Give It a Rest</b> &#8211; This was Brian Sletten&#8217;s first talk on REST (Representational State Transfer).  I have a fair amount of practical experience with REST API&#8217;s (creating, consuming), but this was a great talk about the goal of a REST API and how it relates to an application as a whole.
<ol>
<li>SOAP is overkill in many situations and increases complexity</li>
<li>Over 85% of Amazon customers prefer to use the REST API rather than its SOAP counterpart</li>
<li>REST is more than just URLs</li>
<li>REST focuses on information spaces rather than code or objects</li>
<li>REST can use HTTP return codes to dynamically point to moved resources</li>
<li>REST uses HTTP verbs to indicate the desired action</li>
<li>Since REST uses HTTP, it is stateless and takes advantage of built-in browser caching to reduce server overhead</li>
</ol>
<li><b>Spring 2.5: Spring without XML</b> &#8211; This was Ken Sipe&#8217;s talk on Spring 2.5 without the XML-hell that many of us Spring 2.0 developers are wading through.  I don&#8217;t currently use Spring 2.5, so it was difficult at times to follow where Ken was going.  However, I soaked in a lot of the capabilities of Spring without XML and finding out exactly &#8220;how&#8221; to do something is much easier than the information gap of knowing if it is possible or not.
</li>
<li><b>Java.Next</b> &#8211; Stuart Halloway spoke in this session about all the different languages that are making their way into the JVM.  Most of his talk was simply about why this is happening and why it is good for the Java community (and, trust me, it&#8217;s very good for us!)  I didn&#8217;t take too many notes during this session, but he definitely convinced me (although, to be honest, Scott Davis&#8217; sessions on Groovy had me convinced already)</li>
<li><b>Architecture and Scaling</b> &#8211; This presentation, by Ken Sipe, was an outstanding pragmatic approach to creating an easily scalable application.  Some good points:
<ol>
<li>Scalability is about predictability (e.g. if you know what a load looks like with 200 users, you should know what it looks like with 400)</li>
<li>Scalability can be horizontal (adding more nodes) or vertical (adding more resources to a node such as increased memory or CPU power)</li>
<li>Performance is not equal to scalability.  You often have to sacrifice up-front performance gains to make room for future scalability (one example great Ken used was a load balancer.  Load balancers introduce latency to a project, but allow for multiple nodes to be inserted and, therefore, increase scalability)</li>
<li>An engineer should always be trying to manage things outside their control (e.g. user behavior)</li>
<li>Metrics are good; use them</li>
</ol>
</li>
<li><b>Git</b> &#8211; Another Stuart Halloway talk revolving around the new SCM system called git.  While I was already a bit familiar with git, this talk intrigued me enough to find an environment whereby I use it on a regular basis and can put it through its paces.</li>
<li><b>Introduction to Hibernate</b> &#8211; Scott Leberknight&#8217;s talk on Java Hibernate.
<ol>
<li>Hibernate is a very popular open-source ORM framework</li>
<li>Hibernate uses dialects to talk to a database</li>
<li>Hibernate uses annotations to communicate relationships between objects (one-to-many, one-to-one, etc.)</li>
</ol>
</li>
<li><b>Rich Clients, Rich Data Linking and Consuming</b> &#8211; These were the last couple of talks of the conference by Brian Sletten.  He expanded on REST concepts and showed how RDF can be used for some pretty amazing data combinations.  He also encouraged projects to move beyond their silos and expose their data to the rest of the web.  He had some amazing examples of this sort of exposure, and I am excited to put some of his ideas to use at some point.</li>
</ol>
<p>The conference was pretty amazing and I am very happy to have gone.  In addition to the sessions above, there was a great keynote by Ken Sipe about inter-relational skills engineers should strive to build.  A great quote from this keynote:<br />
<blockquote>Your employer is responsible for your job; you are responsible for your career</p></blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=255&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/12/06/no-fluff-just-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>I Can Has Your iPhone?</title>
		<link>http://johnnywey.wordpress.com/2008/11/26/i-can-has-your-iphone/</link>
		<comments>http://johnnywey.wordpress.com/2008/11/26/i-can-has-your-iphone/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 06:53:17 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Running]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=253</guid>
		<description><![CDATA[Watch your iPhones, kids!
Walking out of work today, a guy stopped me on the sidewalk and asked if he could pay me a dollar to make a call.  I told him that he could make one for free (how nice of me) and asked him the number (it is a lot faster for me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=253&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Watch your iPhones, kids!</p>
<p>Walking out of work today, a guy stopped me on the sidewalk and asked if he could pay me a dollar to make a call.  I told him that he could make one for free (how nice of me) and asked him the number (it is a lot faster for me to dial a number since many people don&#8217;t know how to access the dial-pad unless they already own an iPhone).</p>
<p>The guy called a number (720-621-7655) and said something along the lines of &#8220;I&#8217;m stranded at 21st and Larimer&#8221; to the answering party.  He then proceeded to steal my phone.</p>
<p>I chased him around the corner with Amber in the car (who had pulled up right as the guy started running away) following on the street.  About two blocks or so later, I caught up to him and he proceeded to change direction and cross right in front of a line of cars on a one-way street running into a small alleyway.  At that moment, another car (going the wrong way on the street) pulled into the same alleyway and I thought that my phone was gone.  I figured the guy had called a friend to come pick him up and my mind went right to figuring out strategies to either locate my phone (unlikely) or simply make sure all my personal / work data was properly disposed.</p>
<p>After saying a few curse-words, Amber noticed a group of people congregating about half a block from the alleyway the thief disappeared into, and I recognized the vehicle as the same car that pulled in after him.  As it turns out, the driver of the car had noticed me chasing the guy down the street and had taken it upon himself to retrieve my phone.  In just a few minutes, I had my phone back in perfect condition.</p>
<p>I learned a few things from this:</p>
<ol>
<li>Don&#8217;t let strangers make calls.  It&#8217;s 2008 &#8230; get your own damn phone.</li>
<li>I enabled the password on my phone.  If it&#8217;s entered incorrectly 10 times, all data will be wiped clean.  It&#8217;s not too cumbersome to type in the code every now and again, and it will definitely come in handy if this ever happens again.</li>
</ol>
<p>The phone itself is valuable but it&#8217;s the data that I was most concerned with.  I can always cancel the phone&#8217;s IMEI and suspend the account, but the jerk-off would have had access to all my emails, Twitter account, and whatever else I have loaded.  Granted, the guy didn&#8217;t seem very technically minded (probably just saw a shiny object he thought he could sell for crack or something), but the fact that my personal information was just &#8220;out there&#8221; really sent me for a loop.</p>
<p>Learn from my mistakes and lock up your phones!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=253&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/11/26/i-can-has-your-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>It&#8217;s Cultural</title>
		<link>http://johnnywey.wordpress.com/2008/11/21/its-cultural/</link>
		<comments>http://johnnywey.wordpress.com/2008/11/21/its-cultural/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 17:53:31 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Spirituality]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=251</guid>
		<description><![CDATA[Great post on Finding Rhythm here: http://www.findingrhythm.com/blog/?p=1428.  Got me thinking about &#8220;traditional marriage&#8221; as defined by Dr. Dobson and other fundamentalist leaders.
It&#8217;s pretty easy to see that:

Marriage has not been defined as &#8220;one man and one woman&#8221; since the beginning of human history
The definition of marriage has always been based on culture

The Bible has [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=251&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Great post on Finding Rhythm here: <a href="http://www.findingrhythm.com/blog/?p=1428">http://www.findingrhythm.com/blog/?p=1428</a>.  Got me thinking about &#8220;traditional marriage&#8221; as defined by <a href="http://www.focusonthefamily.com/">Dr. Dobson</a> and other fundamentalist leaders.</p>
<p>It&#8217;s pretty easy to see that:</p>
<ol>
<li>Marriage has not been defined as &#8220;one man and one woman&#8221; since the beginning of human history</li>
<li>The definition of marriage has always been based on culture</li>
</ol>
<p>The Bible has some historical elements and, while the actual authenticity might be in question, you can glean a lot about ancient values from some of the narratives.  People often got married during that time for political and economic reasons more than anything.  It makes a lot of sense to have as many wives as possible so you can get as many children (hopefully males) as possible in order to gain an economic and strategic advantage over other tribes.</p>
<p>It was cultural.</p>
<p>If we can admit that this sort of definition is not objective but based on current cultural conditions, why would it be so hard to simply extend that definition to include homosexual couples?</p>
<p>My marriage is not based on some fundamental definition of what it&#8217;s supposed to look like.  It is fluid; looking a little different every day.  There was a period of time in our society where a marriage looked like a man as the bread-winner and the woman as a home maker.  That definition has changed fairly dramatically over the last fifty years.  Despite that shift, I don&#8217;t hear people trying to push a constitutional amendment that defines marriage as &#8220;a male earning the family&#8217;s money while a female takes care of the home.&#8221;  If this did actually make it up for a vote, there would be a public outcry eerily similar to that of many homosexual couples.</p>
<p>Again, I encourage those on the social right to try and be intellectually honest about this issue.  There are far more important problems to be dealing with right now than what relationship is more legitimate based on something that is, by nature, subjective.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=251&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/11/21/its-cultural/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>Careers without Cultivation</title>
		<link>http://johnnywey.wordpress.com/2008/11/10/careers-without-cultivation/</link>
		<comments>http://johnnywey.wordpress.com/2008/11/10/careers-without-cultivation/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 04:28:49 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=247</guid>
		<description><![CDATA[A few weeks ago, I listened to this podcast from NPR regarding the credit crisis and all the craziness that took place right before the bubble began to burst.
One gentleman by the name of Glen practically leaped out of the report.  He was a young guy, fresh out of college, making $75,000-$100,000 per month. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=247&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A few weeks ago, I listened to <a href="http://www.thislife.org/Radio_Episode.aspx?sched=1242">this podcast</a> from NPR regarding the credit crisis and all the craziness that took place right before the bubble began to burst.</p>
<p>One gentleman by the name of Glen practically leaped out of the report.  He was a young guy, fresh out of college, making $75,000-$100,000 per month.  His job was to package mortgages and sell them to Wall Street as investment products.</p>
<p>Can you imagine how much hell you&#8217;d raise with all that money at 22-23 years old?</p>
<p>I&#8217;d imagine any of us would take that opportunity if it came up given the circumstances at the time.  Unfortunately, that&#8217;s not usually how life works.</p>
<p>Cultivating a career is hard work.  It rarely falls into your lap and you rarely make a lot of money when you start.  It takes a lot of sacrifice on your own time reading, studying, making connections, etc.</p>
<p>You should expect to spend a good chunk of your early life deciding what you want to do and how you can leverage that in order to feed your family in the future.  Once that decision is made, you should expect that it is going to take several years before the fruit of your labor is going to kick in.  Often, as in my field, it takes a college degree plus a few years of experience before you start making some decent money.</p>
<p>I&#8217;m extremely lucky in that I <a href="http://johnnywey.wordpress.com/resume/">found a career I love</a> that also happens to offer a pretty decent salary (albeit sub-Glen) all things considered.  However, it hasn&#8217;t been extraordinarily easy to become good at what I do.  I&#8217;ve been working at it since I created my first &#8220;for-profit&#8221; program at the age of 13!</p>
<p>I&#8217;d advise anyone to be cautiously skeptical of any position that promises the kind of money Glen was making (or even a fraction of that) without putting in a fairly substantial amount of time and energy.  If you&#8217;re lucky (and perhaps more importantly, talented) you might be able to cut a few corners here and there.  But don&#8217;t count on it.  Trying to make a quick dollar instead of a career is like a crap shoot and your chances of a sustainable lifestyle decrease substantially the more you believe that you can avoid the ramp up period and jump right into dropping your Hamiltons.  Even beyond that, it&#8217;s much easier to live a modest life doing something you enjoy than to hate what you do and make lots of money.</p>
<p>If anything, this credit crisis has demonstrated just how fleeting the promise of quick wealth can be.  If it sounds too good to be true &#8230;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/247/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/247/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=247&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/11/10/careers-without-cultivation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
		<item>
		<title>Help Us Start a Family</title>
		<link>http://johnnywey.wordpress.com/2008/10/30/help-us-start-a-family/</link>
		<comments>http://johnnywey.wordpress.com/2008/10/30/help-us-start-a-family/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 05:23:45 +0000</pubDate>
		<dc:creator>johnnywey</dc:creator>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://johnnywey.wordpress.com/?p=242</guid>
		<description><![CDATA[I haven&#8217;t written much about this here, but Amber (my wife) and I have been trying to jump-start our family for the last couple of years or so.  After some tests earlier this year, we realized that we had a choice: either attempt In Vitro Fertilization or adopt.  For a few reasons, we [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=242&subd=johnnywey&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I haven&#8217;t written much about this here, but Amber (my wife) and I have been trying to jump-start our family for the last couple of years or so.  After some tests earlier this year, we realized that we had a choice: either attempt In Vitro Fertilization or adopt.  For a few reasons, we chose adoption.</p>
<p>However, adoption is not cheap and we are far from rich.  We&#8217;ve already spent about $11,500 (initial deposit; took out a loan) which we expect to get back via an adoption credit on our taxes for whatever year we actually get a baby.</p>
<p>Adoption costs vary but we expect to spend $10,000-$15,000 more over the course of the time between now and when we finally bring home an infant.  So, we are officially asking for help.  We&#8217;ve both been very active in the blossoming social network that the Internet has turned into over the last decade and, after donating ourselves to many causes that we personally believe in, we&#8217;re hoping that spirit of generosity extends outside our small sphere and encompasses the social community as a whole.</p>
<p>So, we&#8217;ve launched <a href="http://www.HelpUsStartAFamily.com">HelpUsStartAFamily.com</a>, a site that acts as a hub to convey as much information as possible about us alongside receiving any amount you might feel inclined to give.</p>
<p>Our goal is to spend the money taking in a baby that has no home.  Any additional amount we receive beyond the cost of our adoption will go to a charitable organization that helps adoptive families (we&#8217;re still looking for one &#8230; I&#8217;m sure they exist somewhere!)</p>
<p>Unfortunately, we can&#8217;t give a tax benefit or provide &#8220;official&#8221; accountability of funds like a not-for-profit corporation might, but we have created a pretty transparent link to help put any doubts about our motives at ease.</p>
<p>Thanks for any help you might provide and thanks for reading this blog!</p>
<p><b><a href="http://www.HelpUsStartAFamily.com">www.HelpUsStartAFamily.com</a></b></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/johnnywey.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/johnnywey.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/johnnywey.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/johnnywey.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/johnnywey.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/johnnywey.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/johnnywey.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/johnnywey.wordpress.com/242/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/johnnywey.wordpress.com/242/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/johnnywey.wordpress.com/242/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=johnnywey.wordpress.com&blog=1415338&post=242&subd=johnnywey&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://johnnywey.wordpress.com/2008/10/30/help-us-start-a-family/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88ef7fcaef602cb0c730208dde80226e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">johnnywey</media:title>
		</media:content>
	</item>
	</channel>
</rss>