<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Joe Homs</title>
	
	<link>http://journal.bitshaker.com</link>
	<description>agent of change</description>
	<lastBuildDate>Fri, 06 Aug 2010 22:41:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/bitshaker" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="bitshaker" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Start Less to Finish More</title>
		<link>http://journal.bitshaker.com/articles/2010/08/04/start-less-to-finish-more/</link>
		<comments>http://journal.bitshaker.com/articles/2010/08/04/start-less-to-finish-more/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 21:16:47 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=452</guid>
		<description><![CDATA[Great video from Jason Yip, one of my favorite former colleagues, about starting less things to finish more. It&#8217;s nothing you haven&#8217;t heard before if you&#8217;ve worked with me and it&#8217;s nice and short.]]></description>
			<content:encoded><![CDATA[<p>Great video from <a href="http://jchyip.blogspot.com/">Jason Yip</a>, one of my favorite former colleagues, about starting less things to finish more.  It&#8217;s nothing you haven&#8217;t heard before if you&#8217;ve worked with me and it&#8217;s nice and short.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/FOLDDe4ARRs&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/FOLDDe4ARRs&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2010/08/04/start-less-to-finish-more/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>It’s Your Subconscious and What to Do About It</title>
		<link>http://journal.bitshaker.com/articles/2010/08/04/its-your-subconscious-and-what-to-do-about-it/</link>
		<comments>http://journal.bitshaker.com/articles/2010/08/04/its-your-subconscious-and-what-to-do-about-it/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 20:10:45 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=446</guid>
		<description><![CDATA[Al Pittampalli over at the SAMBA blog wrote It&#8217;s the subconscious, stupid, but left out an important point, got another wrong, and didn&#8217;t give us a solution. We don&#8217;t talk a lot about the subconscious mind, but we should&#8230;because when it comes to personal achievement it can explain things like lack of motivation, procrastination, or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blue-finch.com/">Al Pittampalli</a> over at the <a href="http://www.sixmonthmba.com/">SAMBA</a> blog wrote <em><a href="http://www.sixmonthmba.com/2010/08/its-the-subconscious-stupid.html">It&#8217;s the subconscious, stupid</a></em>, but left out an important point, got another wrong, and didn&#8217;t give us a solution.</p>
<blockquote><p>We don&#8217;t talk a lot about the subconscious mind, but we should&#8230;because when it comes to personal achievement it can explain things like lack of motivation, procrastination, or self sabotage.  And business wise, it can explain why your prospect hasn&#8217;t bought from you yet&#8230; whenever we&#8217;re deciding to do something, we think we&#8217;re evaluating the immediate task at hand.  But subconsciously you may be thinking 6 moves ahead, and evaluating the decision based on the final move (all without even realizing it).</p></blockquote>
<p>A great explanation of the subconscious and one that I use all the time with clients.</p>
<blockquote><p>For example, let&#8217;s say you can&#8217;t get yourself to go to the gym in the morning. Consciously this may show up as laziness.  You may just not feel like it.  You may be thinking about how far away the gym is, or the fact that you can&#8217;t find your sneakers (how convenient).  Or rationalize to yourself how an extra hour of sleep will do more for your health than the hour at the gym (yeah right). These immediate impediments might end up winning, and prevent you from making it to the gym.</p></blockquote>
<p>An extremely common problem.  Many of us face situations like this.  </p>
<blockquote><p>But is that rational?  Going to the gym and losing weight is a major life goal of yours, one in which you have no shortage of motivation.  How is it that general laziness won in the face of the long list of major benefits that going to the gym would result in?</p></blockquote>
<p>Nope, it&#8217;s not rational.  The subconscious isn&#8217;t rational.  It makes connections and thinks very, very fast.  As for how laziness wins? Let&#8217;s find out.  Doing really well so far Al, I&#8217;m proud of you.</p>
<blockquote><p>Well, consider that what really drove your decision actually lies 6 moves ahead&#8230;let&#8217;s lay out the gym scenario like it were a game of Chess&#8230;</p>
<p>Move #1:  Go to the gym this morning<br />
Move #2:  Stick to my exercise routine this entire month<br />
Move #3:  Lose 10 lbs!<br />
Move #4:  Gain it all back (I always do)<br />
Move #5:  My friends will look at me like a failure<br />
Move #6:  I&#8217;ll become depressed, gain 10 more lbs, and I&#8217;ll be heavier than when I first started!</p>
<p>When you see these future moves, isn&#8217;t it clear why you wouldn&#8217;t want to go to the gym?  As irrational as it seems, this is how we think, and this is what often determines our behavior.</p></blockquote>
<p>Did you catch it? Normally it&#8217;s not this easy.  I&#8217;ve taken hours just to get this list out of people.  Here&#8217;s a pro tip: look for what I call the &#8220;unconscious moment&#8221; and/or the logical leap that gets made in this thought process.  It&#8217;s Move #4.  <em>Gain it all back (I always do)</em>.  Ouch. How did your mind reach that conclusion?  It may not make sense to you rationally, but to your subconscious, it&#8217;s perfectly rational.  That&#8217;s where things go wrong.  They continue to go wrong in #5 and #6 as well, but #4 is what starts things rolling.</p>
<blockquote><p>The subconscious mind is powerful and real.  And when you can recognize that it often can lead to irrational conclusions, you can fight it, and help your soon to be customers too.</p></blockquote>
<p>This is where Al goes a little off track.  You don&#8217;t fight your subconscious.  You train it.  &#8220;But how?&#8221; you ask?  That&#8217;s left as an exercise for the reader.  I&#8217;ll help you because this is so important to so many things in your life.  If you can solve little problems like this, it actually makes a huge difference.</p>
<h2>4 Steps to Solving Any Problem by Training Your Subconscious</h2>
<p>1. <strong>Get a Ballpark.</strong> Get the general description of the problem.  &#8220;I can&#8217;t get myself to go to the gym in the morning&#8221; is perfectly acceptable.</p>
<p>2. <strong>Get Specific.</strong> Ask the person to get <strong>very</strong> specific about the problem.  You want something like &#8220;Last Wednesday, at 7:04am, as I was sitting in bed, I thought about getting up to go to the gym, but I just couldn&#8217;t and went back to sleep.&#8221;  If you hear words like &#8220;every time&#8221; or &#8220;sometimes&#8221; or even &#8220;a few times&#8221; that&#8217;s not specific enough.</p>
<p>3. <strong>Storyboard.</strong> Use that specific story now to create a storyboard.  It helps to write this down.  Imagine it like a movie and you need to look at every single part of the scene.  Write down the thought process of the person from beginning to end in steps just like Al did with his example above.  Leave room in between each step.  This is where you&#8217;ll find those logical leaps.  If you see the person go &#8220;um, then this happened&#8221; and you can&#8217;t tell how they got to that, start over from the beginning, then focus there.</p>
<p>4. <strong>Repeat and Defeat.</strong>You&#8217;ll be repeating this storyboard back to the person a lot.  It may seem annoying.  It probably is, but only to you.  The other person will be into it.  You&#8217;ll be helping them relive the experience and give you more details.  Write them down.  Now, once you&#8217;ve uncovered those unconscious moments, it&#8217;s time to break those down and change how that person thinks.  Think you&#8217;ll gain 10 pounds back? Why? Help the person realize the error their subconscious made (not their fault) and then make a new connection and you&#8217;ll watch as the ballpark problem disappears.</p>
<p>There are plenty more advanced techniques you can use with this method, but this works for many of life&#8217;s problems including helping your customers buy from you.  Just work the system and see how many results you can get out of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2010/08/04/its-your-subconscious-and-what-to-do-about-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ego and Checklists</title>
		<link>http://journal.bitshaker.com/articles/2010/01/19/ego-and-checklists/</link>
		<comments>http://journal.bitshaker.com/articles/2010/01/19/ego-and-checklists/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 21:34:03 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2010/01/19/ego-and-checklists/</guid>
		<description><![CDATA[I must have some secret employees at the Financial Times writing for me or something. Atul Gawande wrote &#8216;Airline Pilot&#8217; protocols in finance today and it caught my eye. Some choice quotes: He also found he made mistakes in handling complexity. A good decision requires consideration of so many different aspects of a company in [...]]]></description>
			<content:encoded><![CDATA[<p>I must have some secret employees at the Financial Times writing for me or something.  Atul Gawande wrote <a href="http://www.ft.com/cms/s/2/86d97610-00ab-11df-ae8d-00144feabdc0,dwp_uuid=a712eb94-dc2b-11da-890d-0000779e2340.html">&#8216;Airline Pilot&#8217; protocols in finance</a> today and it caught my eye.</p>
<p>Some choice quotes:</p>
<blockquote><p>He also found he made mistakes in handling complexity. A good decision requires consideration of so many different aspects of a company in so many ways that, even without the cocaine brain [confirmation bias], he was missing obvious patterns. His mental checklist wasn’t good enough. “I am not Warren,” he said. “I don’t have a 300 IQ.”</p>
<p>So he devised a written checklist.</p>
</blockquote>
<p>Sometimes you don&#8217;t even know you&#8217;re making the mistakes over and over unless you get reminded of them by using the checklist.  It&#8217;s there to keep you safe from your own mind.  The easiest person to trick is yourself.</p>
<blockquote><p>Even in his own firm, he&#8217;s found it a hard sell. “I got pushback from everyone. It took my guys months to finally see the value,” he said. To this day, his partners still don’t all go along with his approach and don&#8217;t use the checklist in their decisions when he’s not involved. “I find it amazing other investors have not even bothered to try,” he said. &#8220;Some have asked. None have done it.&#8221;</p>
</blockquote>
<p>As I said before, people think checklists are beneath them.  I&#8217;ve had a hard time convincing people to use them in any aspect of project work.  Clients don&#8217;t like it because they think that&#8217;s why they hired you in the first place; you&#8217;re the expert.  Consultants don&#8217;t like it because they think it will somehow make them look incompetent.</p>
<p>I&#8217;ve tried many different ways of motivating people to use the list, but in the end nobody seems to want to listen even when I show them measurable results.  Ego.</p>
<p>Atul has a book out as well.  I&#8217;ve already ordered it.  Will you?</p>
<p><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=bitshakercom-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=0805091742" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2010/01/19/ego-and-checklists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Checklists</title>
		<link>http://journal.bitshaker.com/articles/2010/01/17/checklists/</link>
		<comments>http://journal.bitshaker.com/articles/2010/01/17/checklists/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 19:36:54 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2010/01/17/checklists/</guid>
		<description><![CDATA[One of the main duties I performed as a consultant was kicking off a project for a new client. The process went by many different names. Iteration zero, project kickoff, inception, and QuickStart. Sometimes a combination of them. The thing I learned right away was that there was always plenty to think about and set [...]]]></description>
			<content:encoded><![CDATA[<p>One of the main duties I performed as a consultant was kicking off a project for a new client. The process went by many different names. Iteration zero, project kickoff, inception, and QuickStart. Sometimes a combination of them.</p>
<p>The thing I learned right away was that there was always plenty to think about and set up. All projects are different of course, but all projects are also the same in many ways. So, I began to do what I always do in a new situation and make a checklist. </p>
<p>I learned this skill a long time ago and it has served me well in many different ways. To my clients, I seem to have a super memory and intellect. Combining the checklist with GTD helps greatly. To my colleagues, I can share the list and get feedback and improvements for my own projects and help theirs. Now on with how to create your checklist. </p>
<p>First, I almost never start from scratch. I look to those who have done it before and have learned lessons the hard way. Nobody is smart enough to think of everything, and besides, why duplicate work? Look to retrospectives, post mortems, project wrap ups, lessons learned, bug reports, lawsuits (yep&#8230;), API versions, forums, email lists, etc. Anything where people are seeing 20/20 after something went well or, more importantly, something went wrong. Put it all on the list without filtering. If you don&#8217;t have stuff written down somewhere, try interviewing people and listen to their war stories. You&#8217;ll learn some good lessons. Write. Them. Down.</p>
<p>Second, once you have your list, try organizing it by rough topics: architecture, project management, QA, analysis, client relations, contracts, etc. This is a good time to take the list to your coworkers and ask them to fill in areas that you&#8217;ve missed. The important thing to remember is to keep things on the list unless they are incorrect.  This list is for all projects, not just &#8220;your&#8221; project.</p>
<p>After you&#8217;ve created your checklist, put it somewhere it can be seen and used as well as collaborated on.  A wiki is great for this because you can have multiple editors and you&#8217;ll get to see all of the versions. Tell people where it is and have them use it.  Asking for feedback on how it works is a great way to get them to use it.  They&#8217;ll improve things and add new items as they come up.</p>
<p>At this point, you&#8217;re probably expecting an example or even full version of my checklist.  Sorry.  That would rob you of the experience of creating it yourself which is well worth your time in just the collaboration alone.</p>
<p>Initially, people will complain that your checklist is too long. Ignore them. Explain that the checklist is there to keep them safe and spending a 30 seconds or a minute on each item on the checklist will save them loads of time and mistakes later.</p>
<p>One last thing.  The checklist is a great tool to make sure you haven&#8217;t forgotten anything, but it isn&#8217;t a substitute for critical thinking.  The checklist will help you to not look dumb, but you still have to be smart.  Good luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2010/01/17/checklists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sophisticated vs. Complicated</title>
		<link>http://journal.bitshaker.com/articles/2010/01/14/sophisticated-vs-complicated/</link>
		<comments>http://journal.bitshaker.com/articles/2010/01/14/sophisticated-vs-complicated/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 22:47:52 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2010/01/14/sophisticated-vs-complicated/</guid>
		<description><![CDATA[Remember learning to ride a bike or drive a car? It was hard at first, with all of those things to remember and do at once. Put your foot here, your hands there, look straight, now look in your mirrors, gas, brake, turn signals, WATCH OUT FOR THAT TREE! Driving that car or riding that [...]]]></description>
			<content:encoded><![CDATA[<p>Remember learning to ride a bike or drive a car? It was hard at first, with all of those things to remember and do at once. Put your foot here, your hands there, look straight, now look in your mirrors, gas, brake, turn signals, WATCH OUT FOR THAT TREE!</p>
<p>Driving that car or riding that bike seemed like a very complex activity. You didn&#8217;t know the simple steps to take and they weren&#8217;t natural for you yet. </p>
<p>What we didn&#8217;t realize then was that those things were sophisticated, not complex. They only seemed complex because we were trying to learn and remember and do things all at once.</p>
<p>Breaking something down into smaller, easier to understand parts allowed us to master those things. We had training wheels for a bike, someone to hold us and push us when we needed it. Learning how much pressure to put on the brakes of a car while going straight in a parking lot. </p>
<p>We could then put those things together into a sophisticated process that became more than the sum of its parts. It just looks complex to those who don&#8217;t know.  </p>
<p>The next time you are learning something complex, remember it is probably just sophisticated and you need to break it down into smaller parts and master those things before trying to do the rest. Agile adoption is a good candidate for that breakdown. </p>
<p>So if you are learning something new like Agile, find out where you can break it down and learn small things at first. If you are being taught or coached by someone else, make sure they teach you this way. It is much easier. If they disagree, ask them why.   </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2010/01/14/sophisticated-vs-complicated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keep Your Ear to the Ground</title>
		<link>http://journal.bitshaker.com/articles/2009/01/22/keep-your-ear-to-the-ground/</link>
		<comments>http://journal.bitshaker.com/articles/2009/01/22/keep-your-ear-to-the-ground/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 23:49:30 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=419</guid>
		<description><![CDATA[I&#8217;m always trying to find new ways to use technology to keep track of what&#8217;s being said out there.  Be it websites, RSS, mailing lists, twitter, etc. I try to know what&#8217;s going on for myself, my clients, and my colleagues.  As with most other things in life though, I always find someone who is doing [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-420 alignright" title="Ear to the ground" src="http://journal.bitshaker.com/wp-content/uploads/2009/01/ear_to_ground.png" alt="Ear to the ground" width="326" height="138" /></p>
<p>I&#8217;m always trying to find new ways to use technology to keep track of what&#8217;s being said out there.  Be it websites, RSS, mailing lists, twitter, etc. I try to know what&#8217;s going on for myself, my clients, and my colleagues.  As with most other things in life though, I always find someone who is doing it better than I am.</p>
<p>I created a twitter account using my name and not more than 24 hours later, Jason Calacanis followed me.  While this is not huge news (Jason has 62k+ people he follows), it was to me.  It means that Jason or a script is parsing his mailing list subscribers and finding them at places like twitter.  He can hear the train coming from miles away.  Can you?</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2009/01/22/keep-your-ear-to-the-ground/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fear is Sand Under the Foundation</title>
		<link>http://journal.bitshaker.com/articles/2009/01/22/fear-is-sand-under-the-foundation/</link>
		<comments>http://journal.bitshaker.com/articles/2009/01/22/fear-is-sand-under-the-foundation/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 20:50:56 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=417</guid>
		<description><![CDATA[I&#8217;ve spent a good chunk of my life building houses with my family and also Habitat for Humanity.  Most people know the cliche that having a strong foundation is key to building a house.  That doesn&#8217;t make it any less important.  Today, Seth talks about the five pillars of success. The five pillars of success [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent a good chunk of my life building houses with my family and also <a title="You should volunteer. It is fun." href="http://www.habitat.org/">Habitat for Humanity</a>.  Most people know the cliche that having a strong foundation is key to building a house.  That doesn&#8217;t make it any less important.  Today, Seth talks about the five pillars of success.</p>
<blockquote><p>The five pillars of success</p>
<p>1. See (really see) what&#8217;s possible</p>
<p>2. Know specifically what you want to achieve</p>
<p>3. Make good decisions</p>
<p>4. Understand the tactics to get things done and to change minds</p>
<p>5. Earn the trust and respect of the people around you</p>
<p>It sure seems like we spend all our time on #4.</p></blockquote>
<p>Seth doesn&#8217;t answer the question of why we spend so much time on #4.  The same reason we spend so much time on #4 and so little time on the others is fear.  Fear that we&#8217;re not good enough, fear that our dreams are too small, fear that we&#8217;ll make the wrong decisions, fear, fear, and more fear.  That fear brings all of the pillars crashing down.</p>
<p>For people who have never felt they could lead, I say take the first step.  Spend your time on something you find worthwhile and just start doing it.  Here&#8217;s the secret: you&#8217;ll make mistakes.  Probably a lot of them at first, but that&#8217;s often the best way to learn.  Learning to be alright with and recover from failure will help you get over your fear.  It will certainly help you with #5.</p>
<p>via <a href="http://sethgodin.typepad.com/seths_blog/2009/01/the-four-pillar.html">Seth&#8217;s Blog: The five pillars of success</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2009/01/22/fear-is-sand-under-the-foundation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set The Mood</title>
		<link>http://journal.bitshaker.com/articles/2009/01/12/set-the-mood/</link>
		<comments>http://journal.bitshaker.com/articles/2009/01/12/set-the-mood/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 19:03:09 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=415</guid>
		<description><![CDATA[I had a conversation with a colleague about doing consulting and that there&#8217;s really no such thing as an &#8220;organization.&#8221;  There really is just a bunch of people who need their minds changed.  The CxO&#8217;s I work with usually only need a minimum of technical help, mostly they need an outside change agent to help [...]]]></description>
			<content:encoded><![CDATA[<p>I had a conversation with a colleague about doing consulting and that there&#8217;s really no such thing as an &#8220;organization.&#8221;  There really is just a bunch of people who need their minds changed.  The CxO&#8217;s I work with usually only need a minimum of technical help, mostly they need an outside change agent to help get their people in the mood to do their best work, so they hire me.</p>
<blockquote><p>You already know how to deliver excellent service that blows people away. You just don&#8217;t feel like it. Your organization has the resources to buy that machine or enter that market or change that policy. They&#8217;re just not in the mood.</p>
<p>If I accomplish anything on a good day, it&#8217;s helping you change attitudes. I&#8217;m working hard at getting you in the mood to do the things you already know how to do. I think that&#8217;s what your boss/the market wants you to do as well.</p></blockquote>
<p>via <a href="http://sethgodin.typepad.com/seths_blog/2009/01/in-the-mood.html">Seth&#8217;s Blog: In the mood</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2009/01/12/set-the-mood/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DSLs and Friends</title>
		<link>http://journal.bitshaker.com/articles/2008/12/16/dsls-and-friends/</link>
		<comments>http://journal.bitshaker.com/articles/2008/12/16/dsls-and-friends/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 02:47:45 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=411</guid>
		<description><![CDATA[My friends and fellow ThoughtWorkers Michael Schubert, Jay Fields, and Stephen Chu were just complimented by Martin Fowler. This isn&#8217;t to say that there&#8217;s no benefit in a business-writable DSL. Indeed a couple of years ago some colleagues of mine built a system that included just that, and it was much appreciated by the business. [...]]]></description>
			<content:encoded><![CDATA[<p>My friends and fellow ThoughtWorkers <a title="Michael Schubert" href="http://schubert.cx">Michael Schubert</a>, <a title="Jay Fields" href="http://jayfields.com">Jay Fields</a>, and <a title="Stephen Chu" href="http://www.stephenchu.com/">Stephen Chu</a> were just complimented by Martin Fowler.</p>
<blockquote><p>This isn&#8217;t to say that there&#8217;s no benefit in a business-writable DSL. Indeed a couple of years ago some colleagues of mine built a system that included just that, and it was much appreciated by the business. It&#8217;s just that the effort in creating a decent editing environment, meaningful error messages, debugging and testing tools raises the cost significantly.</p></blockquote>
<p>What Martin doesn&#8217;t go on to explain is that this project vastly improved efficiency for a whole organization.  They went from a situation where it took months with dozens of programmers to change some business rules in their software to minutes with all sorts of extras they couldn&#8217;t get before like &#8220;what-if&#8221; simulations.</p>
<p>Jay wrote about some of the things they learned in <a title="Jay Fields BNL" href="http://www.infoq.com/presentations/fields-business-natural-languages-ruby">this presentation</a> on InfoQ and much more on his blog about <a title="Jay Fields on DSLs" href="http://blog.jayfields.com/search?q=DSL">DSLs</a>.</p>
<p>via <a href="http://martinfowler.com/bliki/BusinessReadableDSL.html">MF Bliki: BusinessReadableDSL</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/12/16/dsls-and-friends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What’s Your Exit Strategy?</title>
		<link>http://journal.bitshaker.com/articles/2008/12/04/whats-your-exit-strategy/</link>
		<comments>http://journal.bitshaker.com/articles/2008/12/04/whats-your-exit-strategy/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 19:21:18 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/12/04/whats-your-exit-strategy/</guid>
		<description><![CDATA[An occupational hazard of being a consultant is that you get to see lots of the same problems in many different organizations. It seems that sometimes little thought is given to how an organization can move from one technology to another or to move from legacy systems (where legacy means it doesn&#8217;t fit the organization [...]]]></description>
			<content:encoded><![CDATA[<p>An occupational hazard of being a consultant is that you get to see lots of the same problems in many different organizations.</p>
<p>It seems that sometimes little thought is given to how an organization can move from one technology to another or to move from legacy systems (where legacy means it doesn&#8217;t fit the organization anymore) to better solutions.</p>
<p>Today&#8217;s decisions can be tomorrow&#8217;s botleneck or bad design. It&#8217;s just a matter of time.</p>
<p>What can you do to help your future organization? Things like SOA can help. Great tests around your application are essential if you ever make the choice to change.</p>
<p>I&#8217;m looking for something better. I don&#8217;t know if you can ever get to a system that is that responsive to change. I&#8217;d like to see one that is. </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/12/04/whats-your-exit-strategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Shift In Attitude</title>
		<link>http://journal.bitshaker.com/articles/2008/11/19/a-shift-in-attitude/</link>
		<comments>http://journal.bitshaker.com/articles/2008/11/19/a-shift-in-attitude/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 20:14:10 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/11/19/a-shift-in-attitude/</guid>
		<description><![CDATA[Agile is about a shift in attitude more than process. It requires a shift in focus that is easy to explain, but hard to put in practice. A useful way to view making the change is as an investment. There are many advantages to thinking this way about how you change an organization. Being disciplined [...]]]></description>
			<content:encoded><![CDATA[<p>Agile is about a shift in attitude more than process. It requires a shift in focus that is easy to explain, but hard to put in practice.</p>
<p>A useful way to view making the change is as an investment. There are many advantages to thinking this way about how you change an organization.</p>
<p>Being disciplined about investing in people, testing out theory, evaluation and constant improvement go a long way.</p>
<p>When you look to implement this kind of change, process only takes you part of the way. The mechanics of analysis, for instance, can be taught in a few weeks, but it takes a deliberate shift in thinking as well as practice to get good.</p>
<p>Shifting language is a good first step to shifting attitudes. Language around collaboration rather than commitees and processes. Shifting from requirements to goals and priorities.</p>
<p>When you change language, you can start to change minds. It&#8217;s a long road and it helps to have experts to guide you along the way. Don&#8217;t expect a magic process and if you work with me, expect a conversation. </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/11/19/a-shift-in-attitude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Ubiquity Commands</title>
		<link>http://journal.bitshaker.com/articles/2008/10/10/mingle-ubiquity-commands/</link>
		<comments>http://journal.bitshaker.com/articles/2008/10/10/mingle-ubiquity-commands/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 04:13:14 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Mingle]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=396</guid>
		<description><![CDATA[I&#8217;ve started a project to create some useful Ubiquity commands for Mingle. Here is a video of it in action. Ubiquity for Mingle &#8211; First Cut from Joe Homs on Vimeo. You can view the project at github.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started a project to create some useful <a href="https://wiki.mozilla.org/Labs/Ubiquity/">Ubiquity</a> commands for <a href="http://studios.thoughtworks.com/mingle-agile-project-management/">Mingle</a>.</p>
<p>Here is a video of it in action.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1927159&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1927159&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://vimeo.com/1927159?pg=embed&amp;sec=1927159">Ubiquity for Mingle &#8211; First Cut</a> from <a href="http://vimeo.com/bitshaker?pg=embed&amp;sec=1927159">Joe Homs</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1927159">Vimeo</a>.</p>
<p>You can view the project at <a href="http://github.com/bitshaker/mingle_ubiquity/tree/master">github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/10/10/mingle-ubiquity-commands/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stimulate The Economy: Start A Business</title>
		<link>http://journal.bitshaker.com/articles/2008/09/22/stimulate-the-economy-start-a-business/</link>
		<comments>http://journal.bitshaker.com/articles/2008/09/22/stimulate-the-economy-start-a-business/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 05:11:56 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/09/22/stimulate-the-economy-start-a-business/</guid>
		<description><![CDATA[As we begin our latest downward slide in the economy, people are starting to lose their jobs at an alarming rate. Instead of looking for some other job, why not create one for yourself? It is easier than most people think if they simply choose what&#8217;s right for them. &#8220;What is the right company to [...]]]></description>
			<content:encoded><![CDATA[<p>As we begin our latest downward slide in the economy, people are starting to lose their jobs at an alarming rate.</p>
<p>Instead of looking for some other job, why not create one for yourself?  It is easier than most people think if they simply choose what&#8217;s right for them. </p>
<p>&#8220;What is the right company to start?&#8221; I can hear you asking. Something you <i>know</i> and that can be tested easily with minimal costs. I don&#8217;t know what that is for you, but you do. </p>
<p>It&#8217;s old advice, but worth repeating. Look for something that comes easily or happily to you. Something you are an expert in that you can turn into something to sell to others. If it is hard to replicate, even better.</p>
<p>Once you know what it is, start small and test out the results, but start today. That is the key. Your business model is only going to be perfect by accident. Be willing and able to change.</p>
<p>How does this help the economy? By creating jobs, tax revenue, etc.</p>
<p>If you&#8217;ve gotten this far, let me know. There are so many people out there that are willing and able to get you even further. </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/09/22/stimulate-the-economy-start-a-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PSA: Don’t Generate Offensive Promo Codes</title>
		<link>http://journal.bitshaker.com/articles/2008/09/10/psa-dont-generate-offensive-promo-codes/</link>
		<comments>http://journal.bitshaker.com/articles/2008/09/10/psa-dont-generate-offensive-promo-codes/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 21:24:39 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=387</guid>
		<description><![CDATA[OK folks, I&#8217;m now on my 3rd client having problems with certain four letter words coming up in their automatically generated promo codes. It&#8217;s easy to get around this problem in a very simple way: Don&#8217;t use vowels in your promo codes if you&#8217;re using letters. No need for special filtering software or huge lists [...]]]></description>
			<content:encoded><![CDATA[<p>OK folks, I&#8217;m now on my 3rd client having problems with certain four letter words coming up in their automatically generated promo codes.  It&#8217;s easy to get around this problem in a very simple way: <strong>Don&#8217;t use vowels in your promo codes if you&#8217;re using letters</strong>.  No need for special filtering software or huge lists of banned words.  You can always add complexity later, but that simple rule will help you more than the rest.</p>
<p>If you want to get more careful, you could alternate letters and numbers, or use some other strategy.  To be kind to your users, be aware that some numbers and letters look the same to people and they will enter your codes wrong (or worse, enter in someone else&#8217;s code by mistake).</p>
<p>To help you, here&#8217;s a list of the numbers and letters I suggest people use because they won&#8217;t get them confused with each other and hopefully your system won&#8217;t create any bad words (if they do, let me know).  If you&#8217;re worried about the number of combinations you can make, just add more characters to the length of your code or allow yourself the option to generate your own special codes.</p>
<p>letters = ['B', 'C', 'D', 'F', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'V', 'W', 'X', 'Y', 'Z']<br />
numbers = [2, 3, 4, 7, 9]</p>
<p>You could then take this and make a simple ruby method that does something like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="ruby" style="font-family:monospace;">letters = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#996600;">'B'</span>, <span style="color:#996600;">'C'</span>, <span style="color:#996600;">'D'</span>, <span style="color:#996600;">'F'</span>, <span style="color:#996600;">'H'</span>, <span style="color:#996600;">'J'</span>, <span style="color:#996600;">'K'</span>, <span style="color:#996600;">'L'</span>, <span style="color:#996600;">'M'</span>, <span style="color:#996600;">'N'</span>, <span style="color:#996600;">'P'</span>, <span style="color:#996600;">'Q'</span>, <span style="color:#996600;">'R'</span>, <span style="color:#996600;">'S'</span>, <span style="color:#996600;">'T'</span>, <span style="color:#996600;">'V'</span>, <span style="color:#996600;">'W'</span>, <span style="color:#996600;">'X'</span>, <span style="color:#996600;">'Y'</span>, <span style="color:#996600;">'Z'</span><span style="color:#006600; font-weight:bold;">&#93;</span>
numbers = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">2</span>, <span style="color:#006666;">3</span>, <span style="color:#006666;">4</span>, <span style="color:#006666;">7</span>, <span style="color:#006666;">9</span><span style="color:#006600; font-weight:bold;">&#93;</span>
promo_set = letters <span style="color:#006600; font-weight:bold;">|</span> numbers <span style="color:#008000; font-style:italic;"># combine arrays</span>
promo_code = promo_set.<span style="color:#9900CC;">sort_by</span><span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#CC0066; font-weight:bold;">rand</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#91;</span>0..14<span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">to_s</span> <span style="color:#008000; font-style:italic;"># randomize array and take the first 15 elements and make them a string</span>
<span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;CS4FZLHVMPK3QJN&quot;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/09/10/psa-dont-generate-offensive-promo-codes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Documentation Is Conversation Frozen In Time</title>
		<link>http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 21:52:31 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/</guid>
		<description><![CDATA[I&#8217;m on a new account this week and my colleague Julias Shaw coined the phrase in the title. We have been trying to get our client to realize that the solution to people not reading huge requirements documents all the way from development to QA to support is not more documentation, but more communication. We [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on a new account this week and my colleague Julias Shaw coined the phrase in the title. </p>
<p>We have been trying to get our client to realize that the solution to people not reading huge requirements documents all the way from development to QA to support is not <I>more</i> documentation, but more <i>communication</i>.</p>
<p>We are all for documentation, but only the kind that people will actually read.  </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/29/documentation-is-conversation-frozen-in-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Story About Me Written By My Grandmother</title>
		<link>http://journal.bitshaker.com/articles/2008/08/14/a-story-about-me-written-by-my-grandmother/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/14/a-story-about-me-written-by-my-grandmother/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 08:48:30 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=378</guid>
		<description><![CDATA[Joey at 7 Years By Ruth Last night, as I sat with my grandsons reviewing their five and seven year old accomplishments, I was drawn again to memories of my own childhood experiences. Joey, my seven year old, proudly displayed his ability to write in handwriting, which had mostly been learned through self teaching, some [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Joey at 7 Years By Ruth</strong></p>
<p><em>Last night, as I sat with my grandsons reviewing their five and seven year old accomplishments, I was drawn again to memories of my own childhood experiences.  Joey, my seven year old, proudly displayed his ability to write in handwriting, which had mostly been learned through self teaching, some of his capital letters.  This, despite the fact that his mother was repeatedly requesting that they say goodnight and get ready for bed.  &#8220;Let me show you a capital T, Gramma&#8221;, he said, laboriously outlining his project.  &#8220;Oops!&#8221; I remarked, &#8220;You shouldn&#8217;t have crossed the T, honey, that makes it an F.&#8221;  There was a stricken look on his face, and with an &#8220;Oh no!&#8221; he left the room.  He returned shortly with his specially wrapped gift for his parents which had a large beautifully made capital F in &#8220;Fo Mom &#038; Pop.&#8221;  I whispered to get an eraser and we would fix it and he went and desperately began searching the drawer where such things were kept.  Mom, by this time, and not knowing what was going in, demanded that bed time was now!  And she forcefully directed him toward the stairs.  The enormity, to him, of his predicament, started a totally frustrated cry, but he went upstairs.  When she returned I briefly told her what was happening and went to call the sobbing child for just one minute.  I explained to him that if he added a small &#8220;r&#8221; to the &#8220;Fo&#8221; it would change the word.  With brimming eyes, and a moment&#8217;s thought, he realized it would say &#8220;For&#8221; which was perfectly acceptable.  Tears stopped, the correction was made, and a true weight had been lifted in his young mind.</p>
<p>It is the tendency of busy adults to forget the importance of the little tragedies that are as monumental to a small store of experiences in children as larger ones are to adults.  Showing them how to deal with and minimize error is one of the best and kindest tools to give them.  The humiliation and lack of self esteem that comes from not doing what is acceptably correct can leave a scar no different than the scar an adult gets from the same type of things.  The child has within him the adult he will be.  Treat him with the respect you would afford, and the kindness you should use, in your dealings with all people.</p>
<p>The enormity of unresolved calamities of my own childhood, though they are small by adult standards, still come back to haunt me.  Not that adults were uncaring, but there was an opinion that because children were small, their feelings were relative to their size.  Not so!  The adult is wrapped in a small confining package, straining to find answers to enormous complexities in the child&#8217;s body.</em></p></blockquote>
<p>I miss you Grandma.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/14/a-story-about-me-written-by-my-grandmother/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sugarcoating Is Harmful</title>
		<link>http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 19:31:42 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/</guid>
		<description><![CDATA[When you have to evaluate someone, it is easy to err on the side of being nice. When you really like the person outside of work or they are your friend, it becomes doubly hard. It is still important to be honest with feedback for someone so that they can improve and important for future [...]]]></description>
			<content:encoded><![CDATA[<p>When you have to evaluate someone, it is easy to err on the side of being nice. When you really like the person outside of work or they are your friend, it becomes doubly hard. It is still important to be honest with feedback for someone so that they can improve and important for future teams so that they can make sure the person is the right fit.</p>
<p>I tend to use a lesson learned long ago to escalate problems I&#8217;m having with people. </p>
<p>First, talking to the person is often the earliest and easiest way to give someone feedback. Often people will not know something is wrong and are more than willing to fix it.  </p>
<p>Second, if the person doesn&#8217;t respond, let them know you will take your feedback to their boss if needed. Give them a timeframe to improve and tell them what you will do if they don&#8217;t.  </p>
<p>Third, evaluate how the person is doing and possibly even get a second opinion. </p>
<p>Finally, putting honest feedback into a review will help teams evaluate the person&#8217;s strengths and weaknesses for the future. Even bad feedback with a good outcome can help someone&#8217;s review for the future. Who doesn&#8217;t like to see someone improve?</p>
<p>When you sugarcoat a review, you hurt the person by not letting them improve and future teams they will work with by not letting them see where they need to cover or help someone. </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/12/sugarcoating-is-harmful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Automatically Refresh Mingle</title>
		<link>http://journal.bitshaker.com/articles/2008/08/11/mingle-tip-automatically-refresh-mingle/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/11/mingle-tip-automatically-refresh-mingle/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 04:17:00 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/?p=369</guid>
		<description><![CDATA[I&#8217;ve seen many teams using Mingle as a card wall instead of using real index cards. Usually the teams are distributed, so real cards wouldn&#8217;t help anyway. They all run into the same problem that Mingle doesn&#8217;t have a feature to automatically refresh a page throughout the day as the team updates cards. I&#8217;ll show [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen many teams using Mingle as a card wall instead of using real index cards.  Usually the teams are distributed, so real cards wouldn&#8217;t help anyway.  They all run into the same problem that Mingle doesn&#8217;t have a feature to automatically refresh a page throughout the day as the team updates cards.  I&#8217;ll show you a few simple solutions you can choose from to refresh Mingle automatically.</p>
<h1>Firefox Extension</h1>
<p>A quick and easy solution is to use a Firefox extension that can automatically refresh any page called <a href="https://addons.mozilla.org/en-US/firefox/addon/115">ReloadEvery</a>.  This is probably the least amount of work and works just fine.</p>
<h1>HTML IFrame</h1>
<p>I&#8217;ve also created a small bit of HTML that uses Javascript to refresh an IFrame that takes up the whole page.  Just change the google URL to whatever page you need to point to and the amount of seconds you want it to refresh (set to 5 right now).  It works in all of the browsers I could find.</p>
<p><a href='http://journal.bitshaker.com/wp-content/uploads/2008/08/radiator.html'>Download Radiator</a></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/11/mingle-tip-automatically-refresh-mingle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reduce Your Meeting Dependency</title>
		<link>http://journal.bitshaker.com/articles/2008/08/07/reduce-your-meeting-dependency/</link>
		<comments>http://journal.bitshaker.com/articles/2008/08/07/reduce-your-meeting-dependency/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 21:47:56 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://journal.bitshaker.com/articles/2008/08/07/reduce-your-meeting-dependency/</guid>
		<description><![CDATA[I had a client almost two years ago that was plagued by meetings. Many employees would have back-to-back meetings lasting all day. All of the common symptoms were there: unessential people, no agenda, no clear goals or tasks at the end of a meeting. I remember being annoyed by this the whole time, but the [...]]]></description>
			<content:encoded><![CDATA[<p>I had a client almost two years ago that was plagued by meetings. Many employees would have back-to-back meetings lasting all day. All of the common symptoms were there: unessential people, no agenda, no clear goals or tasks at the end of a meeting. I remember being annoyed by this the whole time, but the straw that broke the camel&#8217;s back was having back-to-back meetings about the same thing. </p>
<p>We coined the term MDD or Meeting Driven Development for them and helped eliminate a huge percentage of their meetings with a few simple rules and tricks to show them him much a meeting really cost them.</p>
<p>First, if there was no clear agenda over email at less an hour before, there was no meeting, period. Initially it was just the consultants that wouldn&#8217;t show up, but the full time staff eventually did this too. Often this would eliminate meetings entirely as questions could be answered over email.</p>
<p>Second, we set up a mailing list for people to post to on topics that were relevant to the business including off-topic boards so people could have fun and not clog inboxes. This helped kill meetings by giving them a searchable repository of knowledge. </p>
<p>Third, a wiki was set up with many common threads expanded in a more readable format. Wiki pages were updated and constantly referenced in the mailing lists.</p>
<p>What was the result? More productivity due to more time not wasted in meetings. People actually had time to do work again.</p>
<p>People often wonder why consultants can be so effective at a client site. There are many reasons, but a good one is not being subject to all of the administrative tasks and processes that an employee is put through. Sometimes it is simply that consultants cost too much for the client to be willing to foot the cost of a distracting meeting. Employees are no less important.</p>
<p>Note: agile principles dictate people over process which encourages talking rather than documenting. I&#8217;m not against all meetings, only unimportant ones that are wasteful of everyone&#8217;s time. Don&#8217;t invite 10 people for an hour when 2 for 5 minutes will do just fine for now. </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/08/07/reduce-your-meeting-dependency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Search Mingle Projects Directly In Firefox</title>
		<link>http://journal.bitshaker.com/articles/2008/05/20/mingle-tip-search-mingle-projects-directly-in-firefox/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/20/mingle-tip-search-mingle-projects-directly-in-firefox/#comments</comments>
		<pubDate>Tue, 20 May 2008 14:29:26 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Do you love using Firefox&#8217;s built in Google search? Wish there was a way you could do that with your Mingle projects? Well, now you can with the code below. I&#8217;ve provided a download of the xml file here. You&#8217;ll need to edit the file to point to the Mingle project you want to use [...]]]></description>
			<content:encoded><![CDATA[<p>Do you love using Firefox&#8217;s built in Google search?  Wish there was a way you could do that with your Mingle projects?  Well, now you can with the code below.</p>
<p>I&#8217;ve provided a download of the xml file <a href="http://journal.bitshaker.com/files/mingle_search.xml">here</a>.</p>
<p>You&#8217;ll need to edit the file to point to the Mingle project you want to use the search tool with and then you need to install it into your searchplugins directory for Firefox, which for Windows is probably something like</p>
<pre>C:\Program Files\Mozilla Firefox\searchplugins</pre>
<p>and for Mac is something like</p>
<pre>/Applications/Firefox.app/Contents/MacOS/searchplugins/</pre>
<p>Drop the xml file in the folder and restart Firefox and you&#8217;ll have your new Mingle search up and running.  It should look like this</p>
<p><img src="http://journal.bitshaker.com/files/mingle_firefox_search.png" alt="" /></p>
<p>Note: I&#8217;m working on getting this to work as described in <a href="http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox">this mozilla dev article</a> for Mingle.  It shouldn&#8217;t be too hard since we can modify views in Mingle.  I&#8217;ll blog about it if people are interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/20/mingle-tip-search-mingle-projects-directly-in-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PSA: Tab Between All Controls On Mac</title>
		<link>http://journal.bitshaker.com/articles/2008/05/14/psa-tab-between-all-controls-on-mac/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/14/psa-tab-between-all-controls-on-mac/#comments</comments>
		<pubDate>Wed, 14 May 2008 21:04:46 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I normally love the Mac&#8217;s design decisions, but one thing that&#8217;s always maddened me is that by default you can&#8217;t tab between all controls on webpages, etc. I finally got that fixed today with an article from lifehacker. Click the &#8220;All Controls&#8221; radio button at the bottom of the Keyboard &#38; Mouse pane in System [...]]]></description>
			<content:encoded><![CDATA[<p>I normally love the Mac&#8217;s design decisions, but one thing that&#8217;s always maddened me is that by default you can&#8217;t tab between all controls on webpages, etc.  I finally got that fixed today with an article from lifehacker.</p>
<blockquote><p>Click the &#8220;All Controls&#8221; radio button at the bottom of the Keyboard &amp; Mouse pane in System Preferences to right this wrong.</p>
</blockquote>
<p>Bliss.</p>
<p>[<a href="http://lifehacker.com/390226/top-10-things-you-forgot-your-mac-can-do">via</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/14/psa-tab-between-all-controls-on-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Distrust Turns To Disdain</title>
		<link>http://journal.bitshaker.com/articles/2008/05/09/when-distrust-turns-to-disdain/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/09/when-distrust-turns-to-disdain/#comments</comments>
		<pubDate>Fri, 09 May 2008 20:00:15 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[While taking computer science classes in college, I was taught to distrust a user&#8217;s input in all cases. The theory goes that a user&#8217;s data can&#8217;t be trusted because it could be malicious or just a simple mistake that causes your program to have an error with input it didn&#8217;t expect. So you protect your [...]]]></description>
			<content:encoded><![CDATA[<p>While taking computer science classes in college, I was taught to distrust a user&#8217;s input in all cases.  The theory goes that a user&#8217;s data can&#8217;t be trusted because it could be malicious or just a simple mistake that causes your program to have an error with input it didn&#8217;t expect.  So you protect your system from incorrect user input and sanitize it.  It always felt like one of our dirtier secrets to me, however I fully advocate the practice in code.</p>
<p>My problem comes when the people building software turn from distrusting their user&#8217;s input to having a level of disdain for the users themselves.  It starts innocently enough with the engineering principles I described above, but can sometimes turn into small things like, &#8220;Our users won&#8217;t understand that,&#8221; and starts to slip into things like, &#8220;Our users are dumb, so we won&#8217;t do that.&#8221;  If you&#8217;ve started to hate your users, you&#8217;ve gone too far.  If something is too complex for your users to understand, it&#8217;s your job as the developer/engineer/analyst/etc. to make it so that they can understand it.  If you think of your users like idiots, your system will reflect that and they will notice.</p>
<p>If your job is to design software for people to use (which, is pretty much all software), make sure you work with the user, instead of against their best interests.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/09/when-distrust-turns-to-disdain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developers Don’t Read Stories, So Talk To Them Instead</title>
		<link>http://journal.bitshaker.com/articles/2008/05/06/developers-dont-read-stories-so-talk-to-them-instead/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/06/developers-dont-read-stories-so-talk-to-them-instead/#comments</comments>
		<pubDate>Tue, 06 May 2008 22:31:49 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[In Jakob Neilsen&#8217;s How Little Do Users Read? he sites an ACM study that has found that people typically only read about 20% of content on a page on average, with a max of around 28%. This just confirms my suspicion that developers fully don&#8217;t read the stories that I write for them, even though [...]]]></description>
			<content:encoded><![CDATA[<p>In Jakob Neilsen&#8217;s <a href="http://www.useit.com/alertbox/percent-text-read.html">How Little Do Users Read?</a> he sites an <a href="http://doi.acm.org/10.1145/1326561.1326566">ACM study</a> that has found that people typically only read about 20% of content on a page on average, with a max of around 28%.</p>
<p>This just confirms my suspicion that developers fully don&#8217;t read the stories that I write for them, even though they are highly focused and relevant to what they are looking for.  Instead of reading, they skim and look at the screenshots I provide.</p>
<p>What can we take away from this?  Treat stories as a conversation point, rather than a full design spec.  If your devs have to read thousands of words in your stories, they are too big.  Talk to your team and make sure people understand what you are trying to do.</p>
<p>At 130 words above, most people have read only 26 words in this article, meaning they&#8217;ve barely read the first paragraph.  Scary.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/06/developers-dont-read-stories-so-talk-to-them-instead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Is The Shelf-Life Of A Requirement?</title>
		<link>http://journal.bitshaker.com/articles/2008/05/01/what-is-the-shelf-life-of-a-requirement/</link>
		<comments>http://journal.bitshaker.com/articles/2008/05/01/what-is-the-shelf-life-of-a-requirement/#comments</comments>
		<pubDate>Thu, 01 May 2008 19:37:00 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I like to think of requirements as being perishable. They have a certain shelf life before they are developed and then they start to smell funny and eventually go bad as they get out of date. Different sorts of requirements have different shelf-lives. Master Level Story The high level stories written at the beginning of [...]]]></description>
			<content:encoded><![CDATA[<p>I like to think of requirements as being perishable.  They have a certain shelf life before they are developed and then they start to smell funny and eventually go bad as they get out of date.  Different sorts of requirements have different shelf-lives.</p>
<h4>Master Level Story</h4>
<p>The high level stories written at the beginning of a project and turned into a master story list can either have a long shelf life or a short one.  If the requirements are not beginning to be broken down and worked on within a week or two, they get stale.  Longer than a few weeks, into a few months or more, they should probably be thrown out and at the very least reevaluated.  Why?  Because your business may have changed in that time.  It may not make sense to build those features that made sense a month or two ago.</p>
<h4>Release Level Story</h4>
<p>Release level stories are good for planning and immediately getting started on detailed analysis and development.  They have a short shelf life based on their master level story freshness, plus any ongoing work in an application.  For instance, if some implementation was decided on in a release level story and some technology change has made a card obsolete because it is building the wrong thing or makes the wrong assumptions, it&#8217;s useless.</p>
<h4>Iteration Level Story</h4>
<p>An iteration level story only has a shelf life of a few days after it&#8217;s been analyzed and not developed.  More than a week or so and things can change so drastically in a project that they are not accurate anymore.</p>
<h4>Shelf-Life After Development</h4>
<p>After development, stories have a much longer shelf life.  They can be referenced through various parts in the development lifecycle with the exception of stories that have been overwritten by new ones and those should be tracked as they occur.</p>
<p>Domain documents like systems architecture design, major domain concepts in your app, etc. are useful even longer.</p>
<h4>Considerations</h4>
<p>Keep in mind that all of these levels of stories interact.  Master > Release > Iteration.  They flow in that order and if the master level stories are old and no longer good, they need to be reevaluated.  Otherwise, spending time to break them down will be a waste of time and even worse, implementing them can cost real money in the marketplace.</p>
<p>Constant prioritizing and re-evaluation will keep stories fresh for use by the development team.  Don&#8217;t expect to be able to pull bad apples from storage and make some great apple pie.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/05/01/what-is-the-shelf-life-of-a-requirement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Make A Better Project List</title>
		<link>http://journal.bitshaker.com/articles/2008/04/29/mingle-tip-make-a-better-project-list/</link>
		<comments>http://journal.bitshaker.com/articles/2008/04/29/mingle-tip-make-a-better-project-list/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 20:02:45 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[You don&#8217;t have to wait for the Mingle team to make improvements to your project list. It&#8217;s been requested in &#8220;the forums&#8221;:http://studios.thoughtworks.com/discussion/, but I got tired of waiting for a simple CSS change, so I did it myself with &#8220;Stylish&#8221;:http://userstyles.org/. Just copy the code below (or better yet, find the base.css file that you need [...]]]></description>
			<content:encoded><![CDATA[<p>You don&#8217;t have to wait for the Mingle team to make improvements to your project list.  It&#8217;s been requested in &#8220;the forums&#8221;:http://studios.thoughtworks.com/discussion/, but I got tired of waiting for a simple CSS change, so I did it myself with &#8220;Stylish&#8221;:http://userstyles.org/.  Just copy the code below (or better yet, find the base.css file that you need to edit to make this change).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@namespace url(http://www.w3.org/1999/xhtml);</span>
<span style="color: #a1a100;">@-moz-document domain(&quot;my.mingle.installation.com&quot;) {</span>
&nbsp;
<span style="color: #6666ff;">.project</span> <span style="color: #00AA00;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
   <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">100px</span><span style="color: #00AA00;">;</span>
   <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">300px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.action-bar</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">clear</span><span style="color: #00AA00;">:</span><span style="color: #993333;">both</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.round-corner-wrapper</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">91px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>Your project list will then look like this:</p>
<p><img src="http://journal.bitshaker.com/files/mingle_project_list.png" alt="Mingle Project List" /></p>
<p>One thing to note is that it doesn&#8217;t currently handle long project descriptions too well right now.  I&#8217;ll try to get that fixed and I welcome any fixes to the above CSS changes to make it better.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/04/29/mingle-tip-make-a-better-project-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Change A Password When Mingle Won’t Send Email</title>
		<link>http://journal.bitshaker.com/articles/2008/03/25/mingle-tip-change-a-password-when-mingle-wont-send-email/</link>
		<comments>http://journal.bitshaker.com/articles/2008/03/25/mingle-tip-change-a-password-when-mingle-wont-send-email/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 03:01:58 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This trick probably won&#8217;t be used that often, but it might be nice to have if you get stuck. If you have a Mingle installation that isn&#8217;t configured to send out emails and you have forgotten your password for some reason, you can change your password if you&#8217;ve got access to the database. mysql> update [...]]]></description>
			<content:encoded><![CDATA[<p>This trick probably won&#8217;t be used that often, but it might be nice to have if you get stuck.  If you have a Mingle installation that isn&#8217;t configured to send out emails and you have forgotten your password for some reason, you can change your password if you&#8217;ve got access to the database.</p>
<p><code>mysql> update users set lost_password_key = 123, lost_password_reported_at = CURRENT_TIMESTAMP where login = your_username;</code></p>
<p>Once you do that, you can go to this URL (substitute values for your installation):</p>
<p>http://your-mingle-installation.com:8080/profile/change_password?ticket=123</p>
<p>That will let you reset your password.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/03/25/mingle-tip-change-a-password-when-mingle-wont-send-email/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Pipeline Your Team</title>
		<link>http://journal.bitshaker.com/articles/2008/03/03/mingle-tip-pipeline-your-team/</link>
		<comments>http://journal.bitshaker.com/articles/2008/03/03/mingle-tip-pipeline-your-team/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 21:42:37 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Working on a larger team can really show off some of the flexibility and power of Mingle. Often, teams use Mingle as a virtual story wall. The grid view is a valuable tool to manage cards this way, but it can become overwhelming when actually working with the cards on a daily basis. Different parts [...]]]></description>
			<content:encoded><![CDATA[<p>Working on a larger team can really show off some of the flexibility and power of Mingle.  Often, teams use Mingle as a virtual story wall.  The grid view is a valuable tool to manage cards this way, but it can become overwhelming when actually working with the cards on a daily basis.  Different parts of the team are not always concerned with all of the stages their cards are in.  Creating segmented work areas for your team can help them get to exactly what they want with minimal searching.  I call this Team Pipelining.  Let&#8217;s take 3 examples and see how pipelining your team can help.</p>
<p>h3. Analysts</p>
<p>Analysts need a view of their own for upcoming story management.  Without all of the distractions of current development, analysts get a focused view of what work they need to complete.  Iteration or Project Managers can get a quick view of all of the stories that will be ready for development and can use their area to prioritize it.  This view is simply a grid view on 3 card statuses for this project which is a card property.</p>
<p><img src="http://journal.bitshaker.com/files/mingle_analyst_pipeline.png" alt="Mingle Analyst Pipeline" /></p>
<p>h3. Developers</p>
<p>Developers want to find stories that need to be picked up or are being worked on quickly, so this view is more for them as well as anyone that&#8217;s interested in the development progress of the iteration at a low level.</p>
<p><img src="http://journal.bitshaker.com/files/mingle_dev_pipeline.png" alt="Mingle Dev Pipeline" /></p>
<p>h3. Testers</p>
<p>Testers want to see when cards get past development and how they are being tested.  Sorting their cards by another property called &#8220;Test Status&#8221; and applying some filters to only show cards that have been finished by the development team, testers can get a work area all their own that only shows that they need to immediately work on.</p>
<p><img src="http://journal.bitshaker.com/files/mingle_testing_pipeline.png" alt="Mingle Testing Pipeline" /></p>
<p>h3. Coming Up</p>
<p>Sharp readers will notice that I didn&#8217;t use Iteration Planning as an example here.  That&#8217;s coming in another Mingle Tip because it deserves it&#8217;s own special treatment.</p>
<p>Mingle 2.0 will make Pipelining even more powerful by adding story trees and all sorts of cool filtering abilities that will allow Mingle to fade into the background, so to speak, and let your teams focus on what they need to get done.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/03/03/mingle-tip-pipeline-your-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Make Your Own Full Screen View</title>
		<link>http://journal.bitshaker.com/articles/2008/02/21/mingle-tip-make-your-own-full-screen-view/</link>
		<comments>http://journal.bitshaker.com/articles/2008/02/21/mingle-tip-make-your-own-full-screen-view/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 21:49:52 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I stumbled upon a question in the &#8220;ThoughtWorks Studios forums&#8221;:http://studios.thoughtworks.com/discussion/forums/1/topics/60 that never really got answered about having a full screen mode in Mingle. Using the steps I showed you from my last article, I&#8217;ll show you how to get rid of some interface elements that you may not need once you&#8217;ve got Mingle set the [...]]]></description>
			<content:encoded><![CDATA[<p>I stumbled upon a question in the &#8220;ThoughtWorks Studios forums&#8221;:http://studios.thoughtworks.com/discussion/forums/1/topics/60 that never really got answered about having a full screen mode in Mingle.  Using the steps I showed you from my last article, I&#8217;ll show you how to get rid of some interface elements that you may not need once you&#8217;ve got Mingle set the way you like using &#8220;Stylish&#8221;:http://userscripts.org/stylish again.</p>
<p>The code below will give you what dpattins wanted with comments explaining what each of those CSS selectors do.  Note that you could further scope your stylish script to the card list in case you want the navigation back on other parts of Mingle.</p>
<pre name="code" class="css">
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("my.mingle.installation.com") {
/* #hd = header navigation
   #sidebar = filtering sidebar
   .basic-panel-one = card adding section
   #lanes-header = group/color selection  */

#hd, #sidebar, .basic-panel-one, #lanes-header {display:none !important}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/02/21/mingle-tip-make-your-own-full-screen-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Modify Mingle’s Look and Feel</title>
		<link>http://journal.bitshaker.com/articles/2008/02/05/mingle-tip-modify-colors-in-firefox/</link>
		<comments>http://journal.bitshaker.com/articles/2008/02/05/mingle-tip-modify-colors-in-firefox/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 20:18:22 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This will probably only be interesting to a few people, but I&#8217;m putting it out there anyway. I&#8217;ve gotten tired of the orange header and yellow background in input fields in Mingle and decided to make a quick user stylesheet for use with &#8220;Stylish&#8221;:http://userstyles.org/stylish/. Here&#8217;s the code you&#8217;ll need to make the header look like [...]]]></description>
			<content:encoded><![CDATA[<p>This will probably only be interesting to a few people, but I&#8217;m putting it out there anyway.  I&#8217;ve gotten tired of the orange header and yellow background in input fields in Mingle and decided to make a quick user stylesheet for use with &#8220;Stylish&#8221;:http://userstyles.org/stylish/.</p>
<p>Here&#8217;s the code you&#8217;ll need to make the header look like what you want and get rid of the yellow behind the input boxes when you are working on them.  You can either paste this directly into Stylish as a new style or you can use the CSS rules in your own way.  Just change the &#8220;my.mingle.installation.com&#8221; to the URL where you installed Mingle.</p>
<pre name="code" class="css">
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("my.mingle.installation.com") {
  /* Header Styles */
  #hd, #hd-bottom, #hd-nav li.menu-item, #hd-nav li.menu-item a.first-link {background: #000 !important;}
  #hd-nav li.current-menu-item, #hd-nav li.current-menu-item a.first-link {background: #FFF !important;}

  /* Input Boxes */
  input:focus, textarea:focus {background-color:#FFF !important;}
}
</pre>
<p>I may create a Firefox extension that will integrate more features like this for people if there is interest.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/02/05/mingle-tip-modify-colors-in-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Longer Session Timeouts</title>
		<link>http://journal.bitshaker.com/articles/2008/02/04/mingle-tip-longer-session-timeouts/</link>
		<comments>http://journal.bitshaker.com/articles/2008/02/04/mingle-tip-longer-session-timeouts/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 22:43:15 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Have you ever been editing a card in Mingle and you lose your data because the session timed out? Well, if you are comfortable editing a config file in &#60;mingle directory&#62;/config/web.xml you can make the session timeout much longer. Here is what it looks like by default: 60 You can change it to be something [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever been editing a card in Mingle and you lose your data because the session timed out?  Well, if you are comfortable editing a config file in &lt;mingle directory&gt;/config/web.xml you can make the session timeout much longer.  Here is what it looks like by default:</p>
<pre name="code" class="xml">
<session-config>
  <session-timeout>60</session-timeout>
</session-config>
</pre>
<p>You can change it to be something like this:</p>
<pre name="code" class="xml">
<session-config>
  <session-timeout>6000</session-timeout>
</session-config>
</pre>
<p>That works out to be around 4 days for the timeout, so all you need to do now is restart Mingle on the server and you shouldn&#8217;t be bothered by it any more.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/02/04/mingle-tip-longer-session-timeouts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Keeping Casual Users In The Loop</title>
		<link>http://journal.bitshaker.com/articles/2008/01/30/mingle-tip-keeping-casual-users-in-the-loop/</link>
		<comments>http://journal.bitshaker.com/articles/2008/01/30/mingle-tip-keeping-casual-users-in-the-loop/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 19:11:39 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[In some projects, there are sometimes people that want to stay informed of what is happening without having to login to Mingle constantly. One good example is someone that has to verify that work has been completed by the development team. Our fictional customer, Sandy, is a busy person and would like a way to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://journal.bitshaker.com/files/mingle_history_customer_review.png" width="323" height="629" style="float:right" alt="Mingle History Filter" /><br />
In some projects, there are sometimes people that want to stay informed of what is happening without having to login to Mingle constantly.</p>
<p>One good example is someone that has to verify that work has been completed by the development team.</p>
<p>Our fictional customer, Sandy, is a busy person and would like a way to keep informed of when she needs to look at the work the development team has done so that she doesn&#8217;t get behind.  She doesn&#8217;t have time to check Mingle all day and lives in email and feed readers all day.</p>
<p>Fortunately for Sandy, Mingle has a simple and powerful solution for her.  By simply going to the History tab in Mingle, she can see all of what is going on in real time.  But wait, there is too much information that Sandy doesn&#8217;t need to look at.  Sandy needs to take a few steps to give her just what she needs with all of the steps highlighted in the image on the right.</p>
<p># Sandy only wants to know what she needs to act on.  She doesn&#8217;t care about updates to pages or code checkins.  So clicking on the cards checkbox limits her search just to cards that are changing.<br />
# This is still too much information, so she further narrows her choices down by selecting only to look at stories because she doesn&#8217;t need to know about defects.<br />
# Her final choice is to select that the card changed to a story status of &#8220;In Customer Review&#8221; because that&#8217;s where she knows she&#8217;ll need to take some action and look at the work her team is doing.<br />
# Sandy can then choose how she wants to stay informed via feed or email.</p>
<p>Mingle now keeps Sandy up to date on what she needs to review.  She&#8217;s happy because she can  keep up to date even while she&#8217;s out of the office.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/01/30/mingle-tip-keeping-casual-users-in-the-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mingle Tip: Add Quick Links to Mingle</title>
		<link>http://journal.bitshaker.com/articles/2008/01/28/add-quick-links-to-mingle/</link>
		<comments>http://journal.bitshaker.com/articles/2008/01/28/add-quick-links-to-mingle/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 15:38:06 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Mingle]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I&#8217;ve been using Mingle a lot lately, so I&#8217;ll be posting some quick tips that I&#8217;ve found useful in my projects. Did you know that you can add a set of quick links in the header of your project? Mingle&#8217;s help pages show how it&#8217;s done, but oddly, the help page seems to be hard [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://studios.thoughtworks.com/mingle-project-intelligence">Mingle</a> a lot lately, so I&#8217;ll be posting some quick tips that I&#8217;ve found useful in my projects.</p>
<p>Did you know that you can add a set of quick links in the header of your project?</p>
<p>Mingle&#8217;s help pages show <a href="http://studios.thoughtworks.com/mingle/1.1/help/Content/customizing_projects/project_environment_and_navigation/setting_up_quick_header_links.htm">how it&#8217;s done</a>, but oddly, the help page seems to be hard to navigate to unless you know what you are looking for.  It&#8217;s under Content > Customizing Projects > Project Environment and Navigation > Setting Up Quick Header Links.</p>
<p>First, you&#8217;ll need to create a wiki page called Special:HeaderActions.  That&#8217;s where you&#8217;ll store all of your links.  Once you do that, you can enter in links like this:</p>
<blockquote><p>
&lt;a href=&#8221;/projects/{{project}}/wiki/Project_Metrics&#8221; accesskey=&#8221;m&#8221;&gt;Project Metrics&lt;/a&gt;|</p>
<p>&lt;a href=&#8221;/projects/{{project}}/cards/new?properties[status]=new&#038;properties[type]=defect&#8221; accesskey=&#8221;b&#8221;&gt;+Defect&lt;/a&gt;</p>
<p>&lt;a href=&#8221;/projects/{{project}}/cards/new?properties[status]=new&#038;properties[type]=story&#8221; accesskey=&#8221;s&#8221;&gt;+Story&lt;/a&gt;
</p></blockquote>
<p>Save the wiki page with these new links and you&#8217;ll see new navigation links for your project that look something like this.</p>
<p><img src="http://journal.bitshaker.com/files/mingle_quicklinks.png" /></p>
<p>With the access keys we&#8217;ve put on the links, you can even use keyboard shortcuts to these new links.</p>
<p>Finally, I&#8217;d like to mention that currently Mingle is free for 5 users or less and that academic, open source, and non-profit projects can get a license to use it for larger teams for free too.  Contact me directly or talk to the ThoughtWorks Studios team to get set up.  We&#8217;ve even got people that will help you configure it to your team&#8217;s needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/01/28/add-quick-links-to-mingle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smile and Dial – The World Can Hear Your Smile</title>
		<link>http://journal.bitshaker.com/articles/2008/01/16/smile-and-dial-the-world-can-hear-your-smile/</link>
		<comments>http://journal.bitshaker.com/articles/2008/01/16/smile-and-dial-the-world-can-hear-your-smile/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 23:06:29 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Science Daily is reporting today on new research from scientists at the University of Portsmouth says that says smiling affects how we speak, to the point that listeners can identify the type of smile based on sound alone. Here is the abstract for the paper: The present study investigated the vocal communication of naturally occurring [...]]]></description>
			<content:encoded><![CDATA[<p>Science Daily is reporting today on new research from scientists at the University of Portsmouth says that says <a href="http://www.sciencedaily.com/releases/2008/01/080111224745.htm">smiling affects how we speak</a>, to the point that listeners can identify the type of smile based on sound alone.  Here is the abstract for the paper:</p>
<blockquote><p>
The present study investigated the vocal communication of naturally occurring smiles. Verbal variation was controlled in the speech of 8 speakers by asking them to repeat the same sentence in response to a set sequence of 17 questions, intended to provoke reactions such as amusement, mild embarrassment, or just a neutral response. After coding for facial expressions, a sample of 64 utterances was chosen to represent Duchenne smiles, non-Duchenne smiles, suppressed smiles and non-smiles. These audio clips were used to test the discrimination skills of 11 listeners, who had to rely on vocal indicators to identify different types of smiles in speech. The study established that listeners can discriminate different smile types and further indicated that listeners utilize prototypical ideals to discern whether a person is smiling. Some acoustical cues appear to be taken by listeners as strong indicators of a smile, regardless of whether the speaker is actually smiling. Further investigations into listenersâ€™ prototypical ideals of vocal expressivity could prove worthwhile for voice synthesizing technology endeavoring to make computer-simulations more naturalistic.
</p></blockquote>
<p>This is real science folks.  Remember all those times you had to cold call and you heard &#8220;smile and dial&#8221; from your biz dev manager?  Well, it turns out she was right.  Your customer sub-consciously heard, not only that you weren&#8217;t smiling, but that you were gritting your teeth in anger.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/01/16/smile-and-dial-the-world-can-hear-your-smile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #32</title>
		<link>http://journal.bitshaker.com/articles/2008/01/15/laws-of-power-32/</link>
		<comments>http://journal.bitshaker.com/articles/2008/01/15/laws-of-power-32/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 03:11:51 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Play to People&#8217;s Fantasies The truth is often avoided because it is ugly and unpleasant. Never appeal to truth and reality unless you are prepared for the anger that comes for disenchantment. Life is so harsh and distressing that people who can manufacture romance or conjure up fantasy are like oases in the desert: Everyone [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Play to People&#8217;s Fantasies</strong><br />
<em>The truth is often avoided because it is ugly and unpleasant.  Never appeal to truth and reality unless you are prepared for the anger that comes for disenchantment.  Life is so harsh and distressing that people who can manufacture romance or conjure up fantasy are like oases in the desert:  Everyone flocks to them. There is great power in tapping into the fantasies of the masses.</em></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2008/01/15/laws-of-power-32/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parallels/Cisco VPN/Verizon EVDO Problem and Solution</title>
		<link>http://journal.bitshaker.com/articles/2007/12/25/parallels-cisco-vpn-verizon-evdo-problem-and-solution/</link>
		<comments>http://journal.bitshaker.com/articles/2007/12/25/parallels-cisco-vpn-verizon-evdo-problem-and-solution/#comments</comments>
		<pubDate>Tue, 25 Dec 2007 23:51:23 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I recently got a Verizon USB720 for my MacBook Pro and installed the software that Verizon provides. I frequently use the Cisco VPN software to connect to my clients&#8217; networks to do work and I also use Parallels to test software on Windows. There&#8217;s a little known (as far as I can tell) interaction between [...]]]></description>
			<content:encoded><![CDATA[<p>I recently got a Verizon USB720 for my MacBook Pro and installed the software that Verizon provides.  I frequently use the Cisco VPN software to connect to my clients&#8217; networks to do work and I also use Parallels to test software on Windows.</p>
<p>There&#8217;s a little known (as far as I can tell) interaction between the three, where the Cisco VPN won&#8217;t allow you to connect anywhere and if it does, only for a few seconds.  To get this feature back, all you have to do is disable the network ports that Parallels creates for NAT networking when you&#8217;re connecting to the Verizon card.</p>
<p>Go to System Preferences > Network > Network Port Configurations and uncheck the boxes that say Parallels like the image below.</p>
<p><img src="http://journal.bitshaker.com/files/network.png" /></p>
<p>Once you do that, you&#8217;ll be able to connect to the VPN just fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/12/25/parallels-cisco-vpn-verizon-evdo-problem-and-solution/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AntiSamy – HTML In Web Apps</title>
		<link>http://journal.bitshaker.com/articles/2007/12/03/antisamy-html-in-web-apps/</link>
		<comments>http://journal.bitshaker.com/articles/2007/12/03/antisamy-html-in-web-apps/#comments</comments>
		<pubDate>Mon, 03 Dec 2007 20:38:53 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[A big problem right now in web application development is allowing users to add in HTML and then protecting them from malicious javascript. Fortunately, someone is working on this problem and giving the rest of us the results for free. The &#8220;AntiSamy&#8221;:http://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project library is named after the samy &#8220;worm&#8221; that hit MySpace and infected many [...]]]></description>
			<content:encoded><![CDATA[<p>A big problem right now in web application development is allowing users to add in HTML and then protecting them from malicious javascript.  Fortunately, someone is working on this problem and giving  the rest of us the results for free.</p>
<p>The &#8220;AntiSamy&#8221;:http://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project library is named after the samy &#8220;worm&#8221; that hit MySpace and infected many thousands of pages before it was contained.</p>
<p>The page mentions that there is very little interest from the Rails community on this.  I know there are plugins like the &#8220;whitelist plugin&#8221;:http://agilewebdevelopment.com/plugins/whitelist, but AntiSamy looks at least to be a nice compliment to something like whitelist.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/12/03/antisamy-html-in-web-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Old Software Never Really Dies</title>
		<link>http://journal.bitshaker.com/articles/2007/10/29/old-software-never-really-dies/</link>
		<comments>http://journal.bitshaker.com/articles/2007/10/29/old-software-never-really-dies/#comments</comments>
		<pubDate>Mon, 29 Oct 2007 20:17:22 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I just got a support request from someone today for a web application that I helped to write in college. It was my first Rails project and it was made as a senior class project. We had a client who was a professor from another department. We had to write our own version of backgrounDRb, [...]]]></description>
			<content:encoded><![CDATA[<p>I just got a support request from someone today for a web application that I helped to write in college.  It was my first Rails project and it was made as a senior class project.  We had a client who was a professor from another department.  We had to write our own version of backgrounDRb, used an early version of Rails, and wrote Flash as the front-end to an annotating engine for documents.</p>
<p>It was a great success for us using Rails and Ruby for the first time.  We easily exceeded all expectations set in the beginning of the 10 week class.  We had demo screencasts, a professional looking site, a great code/test ratio (first time ever for me), and a very happy customer.  Some departments in our school were seriously considering using it for their document collaboration needs, and apparently, the software found its way around the world entirely by word of mouth.</p>
<p>I haven&#8217;t touched the code in several years and the machine that housed the subversion repo is long gone.  It got me thinking about how software never really dies.  I had no idea these people were using it to this day, but it still lives out there.  I don&#8217;t even have the original site up anymore, so there&#8217;s no place to download the code.</p>
<p>It&#8217;s sort of cool and strange knowing that something that I wrote as a class project is being used by people to actually get work done.  Maybe I&#8217;ll pick it back up and polish off the old code and breathe some new life into it someday.  It&#8217;s just weird to think of a Flash/Rails app I wrote a few years ago as &#8220;old.&#8221;  There&#8217;s going to be more of that in the future and it&#8217;s a refreshing reminder that everything old is new again and software never truly dies.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/10/29/old-software-never-really-dies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScreenGrab! For Firefox</title>
		<link>http://journal.bitshaker.com/articles/2007/10/23/screengrab-for-firefox/</link>
		<comments>http://journal.bitshaker.com/articles/2007/10/23/screengrab-for-firefox/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 13:09:09 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I just stumbled onto this little gem the other day while looking to roll my own solution to a problem. ScreenGrab! It takes screenshots of an *entire* webpage like Paparazzi!, but in Firefox. It can save directly to a file or straight to the clipboard. It&#8217;s a helpful tool in testing and analysis work and [...]]]></description>
			<content:encoded><![CDATA[<p>I just stumbled onto this little gem the other day while looking to roll my own solution to a problem.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/1146">ScreenGrab!</a></p>
<p>It takes screenshots of an *entire* webpage like Paparazzi!, but in Firefox.  It can save directly to a file or straight to the clipboard.  It&#8217;s a helpful tool in testing and analysis work and is another tool I use every day.  Check it out, you won&#8217;t be disappointed.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/10/23/screengrab-for-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Old Versions of Ports Using MacPorts</title>
		<link>http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ports-using-macports/</link>
		<comments>http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ports-using-macports/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 17:02:16 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[MacPorts is my preferred way of installing, managing, and upgrading much of the software I have on my Mac. I&#8217;m setting up a new work machine today and I need to install ruby 1.8.5 on my machine for Rails to be happy. Unfortunately, you can&#8217;t do something simple like specifying the version of the port [...]]]></description>
			<content:encoded><![CDATA[<p>MacPorts is my preferred way of installing, managing, and upgrading much of the software I have on my Mac.</p>
<p>I&#8217;m setting up a new work machine today and I need to install ruby 1.8.5 on my machine for Rails to be happy.</p>
<p>Unfortunately, you can&#8217;t do something simple like specifying the version of the port you want to install unless it&#8217;s in a local repository.</p>
<p>Fortunately, my friend Stephen Chu had this problem about a year ago and has <a href="http://www.stephenchu.com/2006/12/specifying-ruby-184-to-install-using.html">a nice procedure on how to do it</a>.  I&#8217;m going to update it for MacPorts and ruby 1.8.5 here.</p>
<p>1) Find out the svn revision number of the Portfile that has 1.8.5 by looking at:</p>
<p>http://trac.macosforge.org/projects/macports/log/trunk/dports/lang/ruby/Portfile</p>
<p>In my case it is 21127.</p>
<p>2) Set up a local port repository. In the file /opt/local/etc/macports/sources.conf, add this line before the rsync line:<br />
file:///Users/Shared/dports and create that directory.</p>
<p>3) Install the port into your local repository.</p>
<pre name="code">cd /Users/Shared/dports &#038;&#038; svn co --revision 21127 http://svn.macports.org/repository/macports/trunk/dports/lang/ruby/ lang/ruby/</pre>
<p>4) Run portindex so that ports now finds your new (old) version of ruby.</p>
<pre name="code">portindex /Users/Shared/dports</pre>
<p>5) Now you should be able to see ruby @1.8.5-p12 in addition to @1.8.6 by running:</p>
<pre name="code">port list</pre>
<p>6) Install Ruby</p>
<pre name="code">sudo port install ruby @1.8.5-p12</pre>
<p>You should be up and running now, so to check, run:</p>
<pre name="code">ruby -v</pre>
<p>You will see something like this:</p>
<pre name="code">ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-darwin8.10.1]</pre>
<p>Now, if you want versions of ruby that MacPorts doesn&#8217;t have (later patchlevels for instance), you can modify the portfiles by hand, but I&#8217;ll leave that for another post.</p>
<p>Update: There is an &#8220;official&#8221; MacPorts HOWTO on installing older versions of ports here.  It may be updated in the future, so I&#8217;m linking to it here: <a href="http://trac.macports.org/wiki/howto/InstallingOlderPort">http://trac.macports.org/wiki/howto/InstallingOlderPort</a></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ports-using-macports/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Install Old Versions of Ruby Gems</title>
		<link>http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ruby-gems/</link>
		<comments>http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ruby-gems/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 16:37:03 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I am setting up a new machine that has some old software requirements for my project this week. A quick tip if you need gems to be installed at an older version (if they are still available). Use the -v version flag to specify which version you want. sudo gem install capistrano -v 1.4.1 If [...]]]></description>
			<content:encoded><![CDATA[<p>I am setting up a new machine that has some old software requirements for my project this week.  A quick tip if you need gems to be installed at an older version (if they are still available).</p>
<p>Use the <code>-v</code> version flag to specify which version you want.</p>
<pre name="code">sudo gem install capistrano -v 1.4.1</pre>
<p>If you&#8217;ve got the newer versions of the capistrano gem, no need to fret.  You can specify the version you want to use on the command line like this:</p>
<pre name="code">cap  _1.4.1_  deploy</pre>
<p>You can alias that to something else in your bash profile by adding something like this:</p>
<pre name="code">alias cap1='cap  _1.4.1_'</pre>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/10/20/install-old-versions-of-ruby-gems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #31</title>
		<link>http://journal.bitshaker.com/articles/2007/09/30/laws-of-power-31/</link>
		<comments>http://journal.bitshaker.com/articles/2007/09/30/laws-of-power-31/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 16:04:19 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This law is something that I have been burned by in the past, but can be turned into something good. I think the only real defense against someone with malicious intent is to remember something that a teacher told me some time ago: Consider the source. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This law is something that I have been burned by in the past, but can be turned into something good.  I think the only real defense against someone with malicious intent is to remember something that a teacher told me some time ago: Consider the source.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/09/30/laws-of-power-31/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Executive Tech Summaries</title>
		<link>http://journal.bitshaker.com/articles/2007/09/04/executive-tech-summaries/</link>
		<comments>http://journal.bitshaker.com/articles/2007/09/04/executive-tech-summaries/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 00:16:39 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Is anyone out there interested in some one page tech summaries? I had several occasions where they would have been useful this week and I am ready to write some if they don&#8217;t already exist. They would have basic terminology and usage info as well as pros and cons for an organization. Comment with what [...]]]></description>
			<content:encoded><![CDATA[<p>Is anyone out there interested in some one page tech summaries?  I had several occasions where they would have been useful this week and I am ready to write some if they don&#8217;t already exist.</p>
<p>They would have basic terminology and usage info as well as pros and cons for an organization.</p>
<p>Comment with what tech you would like covered in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/09/04/executive-tech-summaries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Books For Business Analysts</title>
		<link>http://journal.bitshaker.com/articles/2007/08/11/books-for-business-analysts/</link>
		<comments>http://journal.bitshaker.com/articles/2007/08/11/books-for-business-analysts/#comments</comments>
		<pubDate>Sat, 11 Aug 2007 03:07:17 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I was involved in a discussion recently about books that were good for Business Analysts. Here&#8217;s a list to get people started. The Inmates Are Running The Asylum by Alan Cooper About Face 3: The Essentials of Interaction Design by Alan Cooper Don&#8217;t Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition [...]]]></description>
			<content:encoded><![CDATA[<p>I was involved in a discussion recently about books that were good for Business Analysts.  Here&#8217;s a list to get people started.</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FInmates-Are-Running-Asylum-Products%2Fdp%2F0672326140%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1185886589%26sr%3D8-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">The Inmates Are Running The Asylum</a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Alan Cooper</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FAbout-Face-Essentials-Interaction-Design%2Fdp%2F0470084111%3Fie%3DUTF8%26qid%3D1185886589%26sr%3D8-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">About Face 3: The Essentials of Interaction Design</a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Alan Cooper</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FDont-Make-Me-Think-Usability%2Fdp%2F0321344758%3Fie%3DUTF8%26qid%3D1185886589%26sr%3D8-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Don&#8217;t Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition</a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Steve Krug</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FDomain-Driven-Design-Tackling-Complexity-Software%2Fdp%2F0321125215%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1185886746%26sr%3D1-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Domain-Driven Design: Tackling Complexity in the Heart of Software</a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Eric Evans</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FVisual-Display-Quantitative-Information-2nd%2Fdp%2F0961392142%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1185887504%26sr%3D1-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">The Visual Display of Quantitative Information, 2nd edition </a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Edward R Tufte</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FWriting-Effective-Cases-Alistair-Cockburn%2Fdp%2F0201702258%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1185888356%26sr%3D1-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Writing Effective Use Cases </a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Alistair Cockburn</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FPatterns-Effective-Cases-Paul-Bramble%2Fdp%2F0201721848%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1185888356%26sr%3D1-7&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Patterns for Effective Use Cases </a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Alistair Cockburn &#038; Others</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FResponsibility-Virus-Control-Shrinking-Partnership%2Fdp%2F0465044115%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1185916470%26sr%3D8-1&#038;tag=bitshakercom-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">The Responsibility Virus </a><img src="http://www.assoc-amazon.com/e/ir?t=bitshakercom-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by Roger Martin</p>
<p>You&#8217;ll notice that most of these are design books.  As an analyst, it&#8217;s often the case that you are going to have to look at an old business process or application interface and design something new.  It helps to know the limits of the technologies you are working in, but it is better to get a general understanding of design principles in general so that you&#8217;ll never be caught off guard.</p>
<p>Note: All Amazon link proceeds go to charity.  If  this turns out to be popular, I&#8217;ll write up some more book lists my colleagues and I think are good to have on your bookshelf as an Analyst, Dev, QA, PM and consulting in general.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/08/11/books-for-business-analysts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Lesson In Getting Organized</title>
		<link>http://journal.bitshaker.com/articles/2007/07/30/a-lesson-in-getting-organized/</link>
		<comments>http://journal.bitshaker.com/articles/2007/07/30/a-lesson-in-getting-organized/#comments</comments>
		<pubDate>Mon, 30 Jul 2007 03:58:55 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Someone I know recently took over a housing community board by getting organized against the old board and running an effective campaign. The strategies used to do this can apply in many areas of life. Here&#8217;s how they told me they did it. *Know What You Want To Accomplish* The old board was being run [...]]]></description>
			<content:encoded><![CDATA[<p>Someone I know recently took over a housing community board by getting organized against the old board and running an effective campaign.  The strategies used to do this can apply in many areas of life.  Here&#8217;s how they told me they did it.</p>
<p>*Know What You Want To Accomplish*<br />
The old board was being run by 5 residents of the community and they had contracted with a management company that wasn&#8217;t doing an effective job.  On top of ineffective management, the board was illegally charging landlords an extra fee for being non-residents.  This was strike one for this person and was the whole reason that a group of people decided that the board needed to be replaced.  This single goal united 3 people to run for the board.</p>
<p>*Make Sure You Are In The Right*<br />
In cases of legal judgement, it is best to get a lawyer&#8217;s advice.  The more specific the lawyer&#8217;s experience, the better.  In this case, one of the landlords was a lawyer and confirmed that the fees were illegal and even sent letters to the board requesting that they discontinue the fee and refund the landlords in the form of a credit on their association dues.  When the board ignored the letters, this was further cause for action.  Strike two.</p>
<p>*Plan Your Campaign*<br />
Now that there was no choice but to take over the board to effect change, the leader of the 3 did some research on past elections to the board and found that the largest vote count for any one member was around 90 votes.  Each resident gets 5 votes, so each of the 3 needed to get around 20 people to vote for them and they would pretty much be guaranteed a seat on the board.</p>
<p>*Know Your Audience*<br />
The people that were being affected by the extra fee were non-residents, so the 3 needed a strategy to communicate with them and explain what needed to be done.  The 3 printed up fliers about the problem and mailed them to all of the landlords of the units in the community.  They also went around to each of the units and knocked on doors telling people about the problem and to come and vote on the day of the election.</p>
<p>*Stand Your Ground*<br />
On the night of the election, the ballot box was filled with a large percentage of the votes going to the 3 wanting to take over the board.  The old board members had set a deadline of 6pm for all of the ballots to be in.  They decided to change their minds and open the ballots to anyone who was at the meeting.  The old board members went around the community and asked people to vote on the issue.  This nearly doubled the amount of votes cast in the election.  The 3 were still confident that they would be able to get a majority on the board.  Strike three for the old board.</p>
<p>*Move Quickly*<br />
Once all of the ballots were counted, the results were read and the winners announced.  The 3 were on the top of the vote count and each got a seat.  One of the old board members and a newcomer got the other two seats.  Immediately, the management company, seeing the writing on the wall, resigned.  The new board members immediately put the extra fees to a vote and the fees were immediately reversed and all past payments were credited back on the association fees.</p>
<p>*Plan Ahead*<br />
Knowing that they would win, the leader of the 3 had already gotten bids several weeks before from several management companies to replace the one that had just left.  In my state, you&#8217;re required to have a new management company within 30 days.  Having these bids in place would speed up the process and allow the board more decision time to choose the best management company.</p>
<p>*Don&#8217;t Burn Bridges*<br />
The 2 board members left on the board were upset that they no longer had a majority and couldn&#8217;t make decisions the way that they wanted anymore.  Being gracious, the 3 board members included them in the process of managing the community, but made it clear that any illegal activity would not be tolerated and that they would need to decide on issues as a board.  The 3 knew that it was important not to alienate the community and make sure to listen to their concerns and manage fairly.</p>
<p>*Recap*<br />
So the lessons I took away from this are that in order to get something done, you need to have a clear goal, a flexible plan for getting there, research to back up your claims, and organization to pull it all together.  Once you&#8217;ve gotten what you want, it&#8217;s important to make sure that you make good on your stated goals quickly and work with the former group to keep things running smoothly in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/07/30/a-lesson-in-getting-organized/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Agile And Backend Integration Projects</title>
		<link>http://journal.bitshaker.com/articles/2007/07/29/on-agile-and-backend-integration-projects/</link>
		<comments>http://journal.bitshaker.com/articles/2007/07/29/on-agile-and-backend-integration-projects/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 17:02:24 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Another consultant recently told me that she doesn&#8217;t believe Agile works for backend-type projects. She said that Agile just introduces too much change and she can&#8217;t keep up with the process. She also mentioned that there were studies emerging that said as much, but when pressed, she couldn&#8217;t find any. Now, I&#8217;m all for Agile [...]]]></description>
			<content:encoded><![CDATA[<p>Another consultant recently told me that she doesn&#8217;t believe Agile works for backend-type projects.  She said that Agile just introduces too much change and she can&#8217;t keep up with the process.  She also mentioned that there were studies emerging that said as much, but when pressed, she couldn&#8217;t find any.</p>
<p>Now, I&#8217;m all for Agile taking criticism.  It&#8217;s about People over Process, so if there&#8217;s some process hurting people in that equation, then it needs to be examined and possibly fixed.  I also believe that building working code iteratively is vastly better than talking about it for months and then sitting down to write code.</p>
<p>Our client, like all clients, likes to change their mind about what features they want in the application we are building.  This other consultant and I are on two different teams within the project and she&#8217;s doing legacy integration work and we&#8217;re doing essentially greenfield development that will have to hook into her systems.  As our client changes their mind, it&#8217;s pretty easy for us to keep up while she struggles to make changes to database models, ETL processes, and other bits of code in her work.</p>
<p>Thinking about what&#8217;s going on, I think I&#8217;ve come to the reason why it&#8217;s hard for her to change and easy for us.  We&#8217;re using tools and processes that allow us to change rapidly.  Her tools are hindering her from making rapid and iterative change and her processes might be too rigid.</p>
<p>Notice that I&#8217;m not telling what tools each of us is using.  I don&#8217;t want to get into a debate about what tool is better, only the type of tool that allows people to be empowered to change at a moment&#8217;s notice and then change their minds back again.  My hypothesis is that her tools are hindering her from keeping up with our clients.  She&#8217;s certainly capable of doing the work, but I feel like processes that her tools make her go through are getting in her way.</p>
<p>What advice can I give to someone in that position?  I&#8217;ve mentioned stronger scope control to her, greater communication between our teams, and getting another analyst to help with the workload of deciphering the legacy systems she has to integrate with.  These are all people processes because I&#8217;ve seen other consultants use the same tools in my Agile projects and fit in with the process relatively comfortably.</p>
<p>Agile may not work for all types of projects, but I believe it can work here.  It may just be that we need better tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/07/29/on-agile-and-backend-integration-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marc Andreessen on Innovation</title>
		<link>http://journal.bitshaker.com/articles/2007/07/21/marc-andreessen-on-innovation/</link>
		<comments>http://journal.bitshaker.com/articles/2007/07/21/marc-andreessen-on-innovation/#comments</comments>
		<pubDate>Sat, 21 Jul 2007 21:57:37 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I&#8217;ve been reading Marc Andreessen since I heard about his blog from Fred Wilson. There was a great post about retaining good people a few weeks ago that has stuck in my mind ever since. Things not to do when trying to retain great people: Now we&#8217;re getting into personal opinion, but for what it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading <a href="http://blog.pmarca.com/">Marc Andreessen</a> since I heard about his blog from <a href="http://avc.blogs.com/">Fred Wilson</a>.  There was a great post about <a href="http://blog.pmarca.com/2007/07/the-pmarca-gu-1.html">retaining good people</a> a few weeks ago that has stuck in my mind ever since.</p>
<blockquote><p><strong>Things not to do when trying to retain great people:</strong></p>
<p>Now we&#8217;re getting into personal opinion, but for what it&#8217;s worth&#8230;</p>
<p>Don&#8217;t create a new group or organization within your company whose job is &#8220;innovation&#8221;. This takes various forms, but it happens reasonably often when a big company gets into product trouble, and it&#8217;s hugely damaging.</p>
<p>Here&#8217;s why:</p>
<p>First, you send the terrible message to the rest of the organization that they&#8217;re not supposed to innovate.</p>
<p>Second, you send the terrible message to the rest of the organization that you think they&#8217;re the B team.</p>
<p>That&#8217;s a one-two punch that will seriously screw things up.</p>
<p>Instead, focus on boosting the innovation culture of the entire company.</p>
</blockquote>
<p>There are a ton of other tips in there, some of which we used to tell our client companies at NeoTactix.  It&#8217;s always nice to be reminded of great advice, particularly about what to do with great people that want to make the move to a startup.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/07/21/marc-andreessen-on-innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Service Pricing And A Great Opportunity</title>
		<link>http://journal.bitshaker.com/articles/2007/06/26/iphone-service-pricing-and-a-great-opportunity/</link>
		<comments>http://journal.bitshaker.com/articles/2007/06/26/iphone-service-pricing-and-a-great-opportunity/#comments</comments>
		<pubDate>Tue, 26 Jun 2007 16:46:56 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[at&#038;t just announced the pricing for the iPhone plans. The pricing is inflated from the normal plans. *iPhone Pricing* &#124; *Price* &#124; *Talk Time* &#124; &#124;$60/mo &#124; 450 min&#124; &#124;$80/mo &#124; 900 min&#124; &#124;$100/mo &#124; 1,350 min&#124; *Regular Pricing* (Cingular) &#124; *Price* &#124; *Talk Time* &#124; &#124;$40/mo &#124; 450 min&#124; &#124;$60/mo &#124; 900 min&#124; &#124;$80/mo [...]]]></description>
			<content:encoded><![CDATA[<p>at&#038;t just announced <a href="http://news.moneycentral.msn.com/provider/providerarticle.aspx?Feed=ACBJ&#038;Date=20070626&#038;ID=7086407">the pricing for the iPhone plans</a>.  </p>
<p>The pricing is inflated from the normal plans.</p>
<p>*iPhone Pricing*<br />
| *Price* | *Talk Time* |<br />
|$60/mo | 450 min|<br />
|$80/mo | 900 min|<br />
|$100/mo | 1,350 min|</p>
<p>*Regular Pricing* (Cingular)<br />
| *Price* | *Talk Time* |<br />
|$40/mo | 450 min|<br />
|$60/mo | 900 min|<br />
|$80/mo | 1,350 min|</p>
<p>The regular pricing includes rollover, unlimited nights/weekends, and unlimited mobile-to-mobile minutes.  I&#8217;m not sure if you get those with the iPhone plan.  You do get unlimited data access which normally costs around $20/mo.</p>
<p>And that is the whole point of calling this out.  The iPhone plan comes with unlimited data access.  So the first company that comes up with a VOIP web app for the iPhone is going to make a killing.  I&#8217;ll bet it&#8217;s already in development.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/06/26/iphone-service-pricing-and-a-great-opportunity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Less Junk Mail – Now With Less Privacy</title>
		<link>http://journal.bitshaker.com/articles/2007/06/13/less-junk-mail-now-with-less-privacy/</link>
		<comments>http://journal.bitshaker.com/articles/2007/06/13/less-junk-mail-now-with-less-privacy/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 02:30:42 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I was going through a backlog of feeds today and noticed a number that I could call that would allow me to opt-out of getting credit card junk mail from the big credit bureaus. I thought to myself, &#8220;Great, I really hate those things and they go directly to the trash. Let&#8217;s see if I [...]]]></description>
			<content:encoded><![CDATA[<p>I was going through a backlog of feeds today and noticed a number that I could call that would allow me to opt-out of getting credit card junk mail from the big credit bureaus.  I thought to myself, &#8220;Great, I really hate those things and they go directly to the trash.  Let&#8217;s see if I can stop it for a while.&#8221;</p>
<p>For those outside the US that don&#8217;t know, we Americans get a ton of junk mail from a bunch of credit card companies and other companies we could care less about because these credit bureaus keep a mailing list with our names on them and then they sell the list to direct marketers.  It&#8217;s a great business for them and they can even qualify you as a good lead because they know your credit score.  What turns out to be good business for them is really annoying to those of us who have to receive this mail.</p>
<p>So, I call the number and I get a computerized greeting.  The nice computerized voice tells me that there are no operators to take my call, but that I can still opt-out.  She asks me if my phone number is the one that I&#8217;m calling from (I&#8217;m assuming they have caller ID, but that can be blocked or I could call from a pay-phone) and I say no.  The computer then asks me to say the phone number for the residence I want to opt-out for.  I give them the number to my house and the computer starts reading back my home address to ask me if it is correct.  _Wait, what?_  A little concerned, I say yes because it was my address.  It then proceeds to say my full name and asks me to confirm.  I say yes because that&#8217;s correct too.</p>
<p>Thankfully, that&#8217;s all the information that it decided to give to me without asking for any sort of verification, only a phone number which I could have picked out randomly, or worse yet, given to someone who now wants to find out where I live.</p>
<p>The rest of the call asked me to enter in my social security number and date of birth to confirm that I was who I said I was.</p>
<p>This seems backwards to me.  Shouldn&#8217;t I have to tell you who I am with some information that I don&#8217;t just readily give away?  I don&#8217;t go around printing my social security number on business cards, but I do print my phone number on business cards.  My information is in their systems if they are using what I enter to verify the transaction.  Ask me this information first before you disclose my name and home address to anyone I&#8217;ve given my phone number to.</p>
<p>Here&#8217;s the number for those interested: 1-888-5-OPTOUT</p>
<p>For those who are going to say that this number was fake and that I just got my identity stolen, I used the web browser on my phone and checked this number out before I called.  That is also where my feed reader is.  The number is listed on the <a href="www.ftc.gov/bcp/conline/pubs/credit/prescreen.shtm">Federal Trade Commission&#8217;s website</a> along with a link to a free website where you can enter in your information to opt out.  I was going to use the form, but typing in a whole bunch of data using your phone is not ideal with a simple 12 button keypad, so I decided to use the number.  The website gets things right.  I have to enter in tons of information about myself including my address.  The phone number just gives it up willingly.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/06/13/less-junk-mail-now-with-less-privacy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #30</title>
		<link>http://journal.bitshaker.com/articles/2007/05/29/laws-of-power-30/</link>
		<comments>http://journal.bitshaker.com/articles/2007/05/29/laws-of-power-30/#comments</comments>
		<pubDate>Tue, 29 May 2007 02:54:40 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Does anyone remember when you could get a good grade in school when you did some hard work? It never seemed right to me that all I had to do was show the teacher that I worked hard, but didn&#8217;t actually have to finish the assignment. Outside of the classroom, this doesn&#8217;t work. People don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Does anyone remember when you could get a good grade in school when you did some hard work?  It never seemed right to me that all I had to do was show the teacher that I worked hard, but didn&#8217;t actually have to finish the assignment.  Outside of the classroom, this doesn&#8217;t work.  People don&#8217;t care if you worked hard to get a report done, get a sale, or whatever it is you do.  They just care that you can get the job done.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/05/29/laws-of-power-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make Your Process Lean, Not Your Workforce</title>
		<link>http://journal.bitshaker.com/articles/2007/05/06/make-your-process-lean-not-your-workforce/</link>
		<comments>http://journal.bitshaker.com/articles/2007/05/06/make-your-process-lean-not-your-workforce/#comments</comments>
		<pubDate>Sun, 06 May 2007 21:53:29 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I was reading an article by Robert X. Cringely today called Lean and Mean noting that IBM Global Services is laying off thousands of workers and possibly up to 150,000 in the US. Go ahead and read the article. It makes me really glad that I work for a company that extols virtue and taking [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading an article by Robert X. Cringely today called <a href="http://www.pbs.org/cringely/pulpit/2007/pulpit_20070504_002027.html">Lean and Mean</a> noting that IBM Global Services is laying off thousands of workers and possibly up to 150,000 in the US.</p>
<p>Go ahead and read the article.  It makes me really glad that I work for a company that extols virtue and taking care of their people before making money.  At ThoughtWorks, we don&#8217;t have this level of employee count, so I can&#8217;t say what would happen if we did.</p>
<p>We&#8217;re also trying to become more lean, but we are doing it in a different way.  We&#8217;ve already adopted agile as core to the way we work a long time ago.  This time, we&#8217;re applying lean to our processes and tools, not to our people.  That&#8217;s the important point.  When you treat your employees like family, you do things differently.</p>
<p>Hundreds of thousands is a big family and I&#8217;m sure that the execs at IBM GS don&#8217;t know the large majority of them.  I guess that makes it easy to cast them aside in the name of pleasing Wall Street.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/05/06/make-your-process-lean-not-your-workforce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifeguarding and Firefighting</title>
		<link>http://journal.bitshaker.com/articles/2007/04/30/lifeguarding-and-firefighting/</link>
		<comments>http://journal.bitshaker.com/articles/2007/04/30/lifeguarding-and-firefighting/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 02:12:48 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I took a kayaking trip this weekend on a lake near my house and an old lesson popped into my head. While I was working at NeoTactix, we had little firemen bobble-heads with our pictures on them. It was an allusion to the fact that we were always fighting fires in our client companies. I [...]]]></description>
			<content:encoded><![CDATA[<p>I took a kayaking trip this weekend on a lake near my house and an old lesson popped into my head.  While I was working at NeoTactix, we had little firemen bobble-heads with our pictures on them.  It was an allusion to the fact that we were always fighting fires in our client companies.  I remember asking for a new bobble-head in addition to my fireman.  I asked for a lifeguard.</p>
<p>I was a lifeguard when I was younger and the lessons that I learned training there were unforgettable.  As a lifeguard, you don&#8217;t just react to problems, you scan your water and look for potential problems.  You are taught all sorts of strategies to minimize mistakes and keep everyone safe.  While at work, I applied the skills I learned as a lifeguard to protect our clients from things I could see on the horizon.</p>
<p>Lifeguards overlap the areas they are watching so that there&#8217;s always a second pair of eyes on any given situation.  This worked very well for us when we adopted this strategy.  For example, if I had a press release I was working on, I made sure to always run it by the managing partners to ensure I got everything right before publishing it.  Another example was to watch companies in our portfolio that could indicate problems for the other companies that were our clients.  Because each of our clients were minding their daily business like they were supposed to, they couldn&#8217;t always look up and see trends that could affect them.  Part of our job was to see these things coming and warn (or save) them if needed.</p>
<p>Lifeguards constantly scan the waters without focusing on one particular area.  When you are sitting up in the tower, it can be easy to focus on just one person or a group of people.  It&#8217;s called tunnel vision.  The safest thing to do is to look for typical problem signs, make a quick head count, and move on to the next group of people.  This lesson translates to business really well.  As a CEO, you have a bunch of things you have to worry about.  Payroll, internal initiatives, investors, competition, and growing the company are just some of the huge tasks you have to take on.  Making sure you give each their due attention is important or you become reactionary and will never get to focus on looking forward for your business.</p>
<p>Lifeguards ignore unneeded distractions and maintain constant focus.  If you&#8217;ve ever seen a lifeguard at the beach, they always have their eyes on the water.  They will walk up their towers backwards to stay facing the water.  People will come up to talk to them and they&#8217;ll rarely look at them, instead focusing on watching the water.  It&#8217;s not that they are trying to be rude, but that they are focusing on their job, not someone who just wants to chat about Baywatch.  In business life, there is plenty to keep you distracted from doing your real job.  Surfing the internet can waste whole days of productivity.  Worse yet, spending your whole day on something that _seems_ productive like rearranging the office furniture can make you feel like you are doing something good, but is usually just a way to procrastinate on something more important that could be done.  When you learn to control the time you spend on unneeded activities, all sorts of time opens up and you&#8217;ll find much more time to run your business.</p>
<p>Lifeguards cover each other&#8217;s water when an emergency comes up.  Emergencies happen; it&#8217;s a fact of lifeguarding as well as business.  This is a hard lesson for some businesses to learn, especially in cyclical situations like cashflow or business development.  Lifeguards typically have a phone they pick up or button they push to signal the other lifeguards that an emergency is happening in their water and they are taking care of it.  The other lifeguards immediately respond by calling for backup and covering the lifeguard&#8217;s water while they are making a save.  Some businesses will see emergency situations and rally their employees to help fight the fire.  While this is good, they often leave other parts of the business unattended.  That&#8217;s a quick way to becoming a firefighter and only reacting to your business instead of acting to control your business.</p>
<p>Lifeguards and firefighters have their place in business.  Both serve useful functions, but if you have more lifeguards, hopefully you won&#8217;t need so many firefighers.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/04/30/lifeguarding-and-firefighting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #29</title>
		<link>http://journal.bitshaker.com/articles/2007/04/22/laws-of-power-29/</link>
		<comments>http://journal.bitshaker.com/articles/2007/04/22/laws-of-power-29/#comments</comments>
		<pubDate>Sun, 22 Apr 2007 01:26:28 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Last time, I talked about doing what you want to do with confidence. How do you get the confidence to know that you will be able to pull through? Part of that comes with having faith in yourself and those that you work with to get the job done. The other part comes from planning.]]></description>
			<content:encoded><![CDATA[<p>Last time, I talked about doing what you want to do with confidence.  How do you get the confidence to know that you will be able to pull through?  Part of that comes with having faith in yourself and those that you work with to get the job done.  The other part comes from planning.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/04/22/laws-of-power-29/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #28</title>
		<link>http://journal.bitshaker.com/articles/2007/04/09/laws-of-power-28/</link>
		<comments>http://journal.bitshaker.com/articles/2007/04/09/laws-of-power-28/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 02:50:19 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I haven&#8217;t done one of these in a while, but today seemed prescient for this law of power like so many other times I have opened up this list. It&#8217;s something I was told by so many other strong leaders I have modeled my own leadership on. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t done one of these in a while, but today seemed prescient for this law of power like so many other times I have opened up this list.  It&#8217;s something I was told by so many other strong leaders I have modeled my own leadership on.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/04/09/laws-of-power-28/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comatose</title>
		<link>http://journal.bitshaker.com/articles/2007/03/06/comatose/</link>
		<comments>http://journal.bitshaker.com/articles/2007/03/06/comatose/#comments</comments>
		<pubDate>Tue, 06 Mar 2007 17:51:11 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I&#8217;ve been doing a side project lately that needed an embedable CMS for a client. The requirements were pretty simple: A few updateable areas that I could build into the app and possible dynamic content like pulling in the latest posts in the user forums. I didn&#8217;t feel like building it myself, so I did [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a side project lately that needed an embedable CMS for a client.  The requirements were pretty simple: A few updateable areas that I could build into the app and possible dynamic content like pulling in the latest posts in the user forums.  I didn&#8217;t feel like building it myself, so I did a few minutes of searching and came across <a href="http://comatose.rubyforge.org/">Comatose</a>.</p>
<p>It works perfectly for my client&#8217;s needs.  I can use liquid or erb for text processing, so that fits in quite nicely with the multitude of other plugins I&#8217;m using.  They also added the nice touch of being able to completely customize the admin interface, so it was dead simple to skin the interface to match what I already was doing for them and just add a quick route so it looks like part of the app.  I owe the devs a beer.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/03/06/comatose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Interview With Me</title>
		<link>http://journal.bitshaker.com/articles/2007/02/22/how-to-interview-with-me/</link>
		<comments>http://journal.bitshaker.com/articles/2007/02/22/how-to-interview-with-me/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 05:23:40 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I have been doing a bunch of interviews lately. My second one this week (thanks recruiting!) was tonight and it didn&#8217;t go as well as it should have. Here&#8217;s my typical interview strategy for when I am interviewing Business Analysts for ThoughtWorks and some tips to help you if I ever get picked to interview [...]]]></description>
			<content:encoded><![CDATA[<p>I have been doing a bunch of interviews lately.  My second one this week (thanks recruiting!) was tonight and it didn&#8217;t go as well as it should have.</p>
<p>Here&#8217;s my typical interview strategy for when I am interviewing Business Analysts for ThoughtWorks and some tips to help you if I ever get picked to interview you.</p>
<h2>1. Show Up On Time And Be Ready</h2>
<p>I know that you are busy, but this isn&#8217;t college.  You&#8217;re such a hot shot Analyst that you could land a job anywhere, right?  Well, first you are going to have to show me that you want _this_ job.  Our recruiting department sends out a confirmation to you usually 3 days in advance of my call.  I also get a confirmation sent to me.  If I can&#8217;t reach you on the phone number you give on the day of the call, I&#8217;ll usually try again about 15 minutes later.  If I can&#8217;t reach you, I&#8217;ll send a note back to recruiting to reschedule the call.  However, if I reach you and you are not ready to take my call and don&#8217;t have a good explanation (I&#8217;ll understand if the house is on fire or something), that&#8217;s an automatic *No Hire*.  My reasoning for this is simple: it takes nearly an hour to do an interview with you and you know about it in advance, so you should have that time blocked off.  If you don&#8217;t treat that time as important, it means you won&#8217;t treat our clients that way.</p>
<h2>2. Prepare</h2>
<p>Do your homework on ThoughtWorks.  Find out how we like to work; our company culture.  Read our website, learn about agile, visit some blogs, talk to us at conferences.  I&#8217;m going to ask you some questions about what you know about the company, so show me that you did a little bit of work and I&#8217;ll be happy.</p>
<p>On the flip side, I do almost no preparation for my interview with you.  All I know is your name, phone number, and what position we are hiring you for (that determines my questions, more on that later).  I get all of your information like your resume and notes from other interviews you&#8217;ve had with us, but I don&#8217;t look at a single bit of it before the interview.  This is by design.  I don&#8217;t want to know anything about you that will influence my decision to hire you.</p>
<h2>3. The Interview</h2>
<p>I have a pretty consistent interviewing style that helps me be more objective about your skills.  ThoughtWorks has a set of questions that they like me to ask and I also mix in some of my own.  Here&#8217;s how the interview typically goes:</p>
<ol>
<li>Ice Breaker</li>
<li>ThoughtWorks Questions</li>
<li>Domain Question From Your Most Recent Position</li>
<li>Random Domain Question</li>
<li>Questions For Me</li>
<li>Wrap Up</li>
</ol>
<p><strong>Ice Breaker</strong><br />
I start off by letting you know how the interview is going to go.  I care more about your thinking process than you getting everything 100% right on my questions.  By this time, I still haven&#8217;t looked at anything about you.</p>
<p><strong>ThoughtWorks Questions</strong><br />
The ThoughtWorks questions are mostly softball questions so that I can go over some logistical things about the job.  Are you alright with lots (and lots) of travel?  Have you worked with Agile professionally?  Why do you want to be a BA?  There are a bunch of questions, but they give me an idea of what to ask you further.  I&#8217;ll go into something in detail if I get the sense that you are stretching the truth.  While you are answering my questions, I&#8217;ll pop open your resume and look at your most recent job and title.</p>
<p><strong>Domain Question From Your Most Recent Position</strong><br />
By now, you should be warmed up and I have a good sense of what I am going to ask you.  From your most recent position, I&#8217;ll ask you something about the business domain.  This way, I get a sense of how well you can understand what a business does.  If you&#8217;re a TWU candidate, meaning you are just out of college, this question changes to ask about some of your classes.  I&#8217;m looking for a deep understanding of what you are talking about.  I&#8217;ll dive into small details to make sure you really know your stuff.</p>
<p>I may also ask you about some things you have done for your previous job (or school).  Special projects, clubs, whatever.  I want to see that you haven&#8217;t simply gone to work or school and taken the minimum to get by.  It&#8217;s for your own good because you&#8217;ll get burned out quickly at ThoughtWorks if you aren&#8217;t into the work.</p>
<p><strong>Random Domain Question</strong><br />
This is my favorite part of the interview.  I&#8217;ll ask you about a domain that has nothing to do with business and run through a few exercises with you to see how well you can understand what I am talking about.  It&#8217;s always something off the wall and will have nothing to do with what you have done before, but that is the point.  I&#8217;m looking to see how well you can adapt to a new situation and think on your feet.  I&#8217;ll play customer roles and ask you to elicit questions about things I want to do.  I&#8217;ll try to trip you up and see how you recover.  This way, I can get an idea of how you will do with our clients.</p>
<p><strong>Questions For Me</strong><br />
This is the part of the interview where you get to ask me anything you want about ThoughtWorks.  Some people trip up here because they think the interview is over.  If you are really serious, you will have some questions about how we do our work, what our people are like to work with, etc.  I also get to sell you a little bit on what it&#8217;s like to work here.</p>
<p><strong>Wrap Up</strong><br />
The whole process takes 45 minutes to an hour.  I let you know about the next phase in the interview process and that our recruiting department will be getting back to you within a week or so.  After that, I hang up and write the last of my notes about you and read them over again.  I make them readable by someone other than myself and then I make a decision about whether or not to pass or pursue.</p>
<h2>4. Pass Or Pursue?</h2>
<p>After the interview, I have a pretty good idea of how I am going to recommend you.  I ask myself lots of questions like: Is this person smart and do they get things done? Would I want to work with them?  If the answer is no, it&#8217;s a pass.  If I wouldn&#8217;t work with you, then I wouldn&#8217;t expect anyone else at ThoughtWorks to.  If I feel like you aren&#8217;t smart enough to walk into a client and immediately start to figure out what is going on, that&#8217;s also a pass.  If I have a good feeling about you, I&#8217;ll mark you as a pursue and send you on up the chain for our intense face-to-face interview process.</p>
<p>I hope this was helpful to future candidates.  I&#8217;m looking for aptitude and attitude in the way that you present yourself to me.  If you&#8217;ve got both, you&#8217;ll have no problem being a ThoughtWorker.  Good luck.</p>
<p><strong>UPDATE:</strong> If you are looking for a referral, please email me at jhoms at thoughtworks dot com and I&#8217;ll point you to the right people.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/02/22/how-to-interview-with-me/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Laws of Power #27</title>
		<link>http://journal.bitshaker.com/articles/2007/02/19/laws-of-power-27/</link>
		<comments>http://journal.bitshaker.com/articles/2007/02/19/laws-of-power-27/#comments</comments>
		<pubDate>Mon, 19 Feb 2007 01:16:14 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This law of power is used at some of the hottest up-and-coming and established companies today. Companies like Apple and 37Signals use peoples&#8217; need for a belief system to help brand themselves. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This law of power is used at some of the hottest up-and-coming and established companies today.  Companies like Apple and 37Signals use peoples&#8217; need for a belief system to help brand themselves.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/02/19/laws-of-power-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crucial.com Gets Customers</title>
		<link>http://journal.bitshaker.com/articles/2007/02/01/crucial-com-gets-customers/</link>
		<comments>http://journal.bitshaker.com/articles/2007/02/01/crucial-com-gets-customers/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 15:28:41 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I bought some RAM today for my laptop and had a great experience with crucial.com. First, there was a program that they allowed me to download (if you use IE, it just runs right in the browser) that showed me exactly how much RAM I had and more importantly, _where_ it was installed. It showed [...]]]></description>
			<content:encoded><![CDATA[<p>I bought some RAM today for my laptop and had a great experience with <a href="http://crucial.com">crucial.com</a>.</p>
<p>First, there was a program that they allowed me to download (if you use IE, it just runs right in the browser) that showed me exactly how much RAM I had and more importantly, _where_ it was installed.  It showed me that I had 1GB of RAM in a single slot.</p>
<p>Then I got a recommendation for which RAM I needed based on Crucial knowing exactly what computer I had.  Their suggestion was exactly what I needed.</p>
<p>Purchasing the RAM was my favorite part of the experience.  In my opinion, this is where Crucial gets things _really_ right.  I didn&#8217;t have to log in, sign up, or otherwise register for anything on their site.  I just put in my shipping and billing information and I was done.</p>
<p>The last nice touch was this little gem that appeared in the middle of my order confirmation.</p>
<p><img src="http://journal.bitshaker.com/files/crucial_account.gif" /></p>
<p>Nothing to fill out if I didn&#8217;t want to, but a genuine attempt at making my life easier if I was going to have multiple orders.</p>
<p>Thanks Crucial, it was a great buying experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/02/01/crucial-com-gets-customers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protect Users From Themselves</title>
		<link>http://journal.bitshaker.com/articles/2007/01/19/prevent-users-from-themselves/</link>
		<comments>http://journal.bitshaker.com/articles/2007/01/19/prevent-users-from-themselves/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 20:52:39 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Often, when designing a system for users, we look at what they could do wrong and either try and prevent it or tell them what&#8217;s going wrong. I prefer to take as much of a proactive approach as I can by having the system fix the problem and not even bother the user with an [...]]]></description>
			<content:encoded><![CDATA[<p>Often, when designing a system for users, we look at what they could do wrong and either try and prevent it or tell them what&#8217;s going wrong.  I prefer to take as much of a proactive approach as I can by having the system fix the problem and not even bother the user with an error message if it&#8217;s not absolutely necessary.</p>
<p>This same mentality holds true for the way users expect a system to work.  I found an example from <a href="http://www.bloglines.com/">bloglines</a> today, which is a great service that I use every day.</p>
<p>Bloglines has the nice feature of letting you use keyboard shortcuts to navigate around your feeds and the posts within them.  It&#8217;s a tremendous time saver not having to scroll all the time.  However, this morning, I discovered an oversight that is easy to fix: if I have caps lock enabled, the navigation doesn&#8217;t work.  It is something that only comes up in a blue moon, but it took me a minute to figure out what was going on today to correct the problem.</p>
<p>The problem is with the javascript that bloglines uses to capture the key events and perform an action.  Here&#8217;s a (snipped) example.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> g_hotkey_scrolldown <span style="color: #339933;">=</span> <span style="color: #CC0000;">106</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// j</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> whichCode <span style="color: #339933;">==</span> g_hotkey_scrolldown <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #006600; font-style: italic;">// j - scroll down pane</span>
    cancelEvent<span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>main.<span style="color: #660066;">basefrm</span> <span style="color: #339933;">&amp;&amp;</span> main.<span style="color: #660066;">basefrm</span>.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#41;</span> main.<span style="color: #660066;">basefrm</span>.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#40;</span>nav4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>main.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        main.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#40;</span>nav4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>This only captures the lowercase j, but if you wanted to capture the uppercase J (because someone might have the caps lock enabled by accident), then it would be simple to change the whichCode line to add in the case for uppercase J.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> g_hotkey_scrolldown <span style="color: #339933;">=</span> <span style="color: #CC0000;">106</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// j</span>
<span style="color: #003366; font-weight: bold;">var</span> g_hotkey_scrolldown_upper <span style="color: #339933;">=</span> <span style="color: #CC0000;">74</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// J (uppercase)</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> whichCode <span style="color: #339933;">==</span> g_hotkey_scrolldown <span style="color: #339933;">||</span> whichCode <span style="color: #339933;">==</span> g_hotkey_scrolldown_upper<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #006600; font-style: italic;">// j (upper and lower) - scroll down pane</span>
    cancelEvent<span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>main.<span style="color: #660066;">basefrm</span> <span style="color: #339933;">&amp;&amp;</span> main.<span style="color: #660066;">basefrm</span>.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#41;</span> main.<span style="color: #660066;">basefrm</span>.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#40;</span>nav4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>main.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        main.<span style="color: #660066;">gotoNextItem</span><span style="color: #009900;">&#40;</span>nav4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>A simple one line change for this example, but it prevents users from getting behavior in the system that they don&#8217;t expect.</p>
<p>Update: I had sent this issue directly to Bloglines before making this post with essentially the same information.  I received a reply from them saying that they would forward on the report to the appropriate department.  Hopefully, they will fix this issue and get back to me.  A commenter noted this issue happens with similar sites that use access keys in this way.  My lazyweb question then: is this not technically possible?  I didn&#8217;t actually run the code I wrote, but I could if I really wanted to test it out since I believe Firebug will allow me to do that.  It just wasn&#8217;t that pressing.</p>
<p>Update: I still haven&#8217;t seen this work and have moved on to another blog reader.  I just couldn&#8217;t deal with the lack of progress and missing out on better options.  So long Bloglines, you&#8217;ll be missed.  I&#8217;m happy to be lured back someday.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/01/19/prevent-users-from-themselves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make A Name Map</title>
		<link>http://journal.bitshaker.com/articles/2007/01/15/make-a-name-map/</link>
		<comments>http://journal.bitshaker.com/articles/2007/01/15/make-a-name-map/#comments</comments>
		<pubDate>Mon, 15 Jan 2007 23:33:27 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This is an article that I have seen go past in my RSS reader a few times lately: Meeting Tip: Learning Names. It is something that I have used for years, but this is a great writeup of what to do. Simply stated, make a little &#8220;map&#8221; of the meeting table you are at and [...]]]></description>
			<content:encoded><![CDATA[<p>This is an article that I have seen go past in my RSS reader a few times lately: <a href="http://gurno.com/dru/?q=node/132">Meeting Tip: Learning Names</a>.  It is something that I have used for years, but this is a great writeup of what to do.  Simply stated, make a little &#8220;map&#8221; of the meeting table you are at and write everyone&#8217;s name along with any other information you might need next to them.</p>
<p>I&#8217;ve taken it further a few times and actually written notes under each person&#8217;s name so that I knew who came up with the idea.  It was a common practice for me at NeoTactix where we would meet a ton of new companies all the time and I could _never_ keep their names straight in my head.  I find it equally important in my consulting life at ThoughtWorks, but rely on it less when I see the people that I meet every day and their name eventually starts to stick in my head.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2007/01/15/make-a-name-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wink is Great</title>
		<link>http://journal.bitshaker.com/articles/2006/12/21/wink-is-great/</link>
		<comments>http://journal.bitshaker.com/articles/2006/12/21/wink-is-great/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 22:09:02 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I used the awesome tutorial and presentation software Wink today and it worked surprisingly well. I was testing out the newest version of SIFR (also awesome software) and found a few bugs. Screenshots weren&#8217;t going to be enough to show the problem, so I created a simple screencast with Wink. You can see the results [...]]]></description>
			<content:encoded><![CDATA[<p>I used the awesome tutorial and presentation software <a href="http://www.debugmode.com/wink/">Wink</a> today and it worked surprisingly well. </p>
<p>I was testing out the newest version of <a href="http://novemberborn.net/sifr3">SIFR</a> (also awesome software) and found a few bugs.  Screenshots weren&#8217;t going to be enough to show the problem, so I created a simple screencast with Wink. </p>
<p>You can see the results <a href="http://bitshaker.com/sifr3b1.htm">here</a>. </p>
<p>I can definitely see myself using this more in my work on client projects for <a href="http://www.thoughtworks.com/">ThoughtWorks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/12/21/wink-is-great/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google CSE â€“ Why It May be the NBT</title>
		<link>http://journal.bitshaker.com/articles/2006/11/03/google-cse-â€“-why-it-may-be-the-nbt/</link>
		<comments>http://journal.bitshaker.com/articles/2006/11/03/google-cse-â€“-why-it-may-be-the-nbt/#comments</comments>
		<pubDate>Fri, 03 Nov 2006 23:25:37 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[One of my favorite bloggers, Tom Evslin, wrote Google CSE &#8211; Why It May be the NBT. Go read the article first, because I refer to it a lot here. I agree with what Tom says about CSE (Custom Search Engine) being a big deal because Google is doing it. Rollyo, a product that I [...]]]></description>
			<content:encoded><![CDATA[<p>One of my favorite bloggers, Tom Evslin, wrote <a href="http://feeds.feedburner.com/~r/FractalsOfChange/~3/43427315/google_cse_why_.html">Google CSE &#8211; Why It May be the NBT</a>.  Go read the article first, because I refer to it a lot here.  I agree with what Tom says about CSE (Custom Search Engine) being a big deal because Google is doing it.  Rollyo, a product that I was an early beta tester in, came before, but as with the misnomer of first-mover advantage, it doesn&#8217;t matter if you&#8217;re first, it matters who has more users.</p>
<p>Now that I&#8217;ve had a chance to play with CSE, I can say that it is a nice tool, but I think that we will see more improvements.</p>
<p>Here&#8217;s something I think that Tom didn&#8217;t get to though.  Google has always said that they want to organize the world&#8217;s information.  CSE smells a lot like the <a href="http://en.wikipedia.org/wiki/Open_Directory_Project">dmoz.org</a> project that started years ago, except that Google found a way to get people to *want* to create a human-edited search engine.  _(What a novel idea huh? I guess those MBAs are still teaching us techies a few things)._ If you think that CSE is just a dumb tool to put sites into, you&#8217;re way off base.  Google is giving you a great service by letting you limit search querying to some specific sites, but what you are giving them is much more valuable.  You are telling them what sites to group with what categories.  I would have to bet that Google is paying attention to what you put in your little search network and getting even more context out of that to help their main search engine too.  So when you create a network about VCs or Entrepreneurs, Google looks at that and probably gives them a little more Google Juice for certain things.</p>
<p>The goal of a search engine is to bring back the most relevant data to you that you are searching on.  What made Google a better search engine is that it went beyond simple keyword searching with their PageRank algorithm and other secret sauce.  You are getting more valuable information because they made a bet that things that are linked to the most _by humans_ are the most relevant _to humans_.  And since a human is going to be able to tell you much better than a computer (at least for now) what content is best for a particular subject, they are leveraging that &#8220;vote of confidence&#8221; from someone who links to something.  Well, CSE is just an extension of that idea.  You are building mini networks for them and they will leverage that knowledge too.</p>
<p>I&#8217;ll keep watching this one. It will be interesting to see what happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/11/03/google-cse-â€“-why-it-may-be-the-nbt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Do I Work Too Much?</title>
		<link>http://journal.bitshaker.com/articles/2006/10/27/do-i-work-too-much/</link>
		<comments>http://journal.bitshaker.com/articles/2006/10/27/do-i-work-too-much/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 03:27:00 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I got into a debate with some friends lately about the work/life balance. This seems to be a perennial topic for me as I get older. There&#8217;s something in me that is driven to succeed, to build a life for myself. I&#8217;ve seen previews of what it will be like. I know it&#8217;s there for [...]]]></description>
			<content:encoded><![CDATA[<p>I got into a debate with <a href="http://nickgray.net/2006/10/tuesday-personal-notes-freezing-cold.html">some friends</a> lately about the work/life balance.  This seems to be a perennial topic for me as I get older.  There&#8217;s something in me that is driven to succeed, to build a life for myself.  I&#8217;ve seen previews of what it will be like.  I know it&#8217;s there for the taking.  There is also another part of me that knows I need that balance.  Like I said to Nick, I burned out a few years ago and reevaluated what I really wanted in life.  It came down to family and friends being the most important thing to me.  So far for me, I&#8217;ve been lucky in that work has supported both of those things as I&#8217;ve worked with both family and friends much of my life.  ThoughtWorks has just brought more friends like Clint, Eric, and Cliff.  I&#8217;d do anything for those guys.  They are like family to me too, which might be why this line is so blurry for me.</p>
<p>The illustrious <a href="http://www.feld.com/blog/">Brad Feld</a> came up in our conversation about his work/life balance.  I&#8217;ve always looked up to smart people like Brad and tried to learn from their mistakes.  I learned a long time ago that it is the best to learn this way, but there are unfortunately some things that you need to go through yourself to make the lesson really stick.</p>
<p>I&#8217;m trying to strike the right balance in my own life.  I&#8217;m willing to give up a little personal time to get a strong foothold on a career, but I won&#8217;t do it forever.  My life outside of work is too important to spend it in an office building all day.  I love my work. I especially loved it when I was at NeoTactix.  I would get into these very focused times and work more than 80 hours in a week without noticing.  Now, I rely on my family and friends to reel me back in when I&#8217;ve gone too far.  I don&#8217;t listen to people who can&#8217;t handle the pressure, don&#8217;t really care about me.  I listen to those most important to me because they sometimes see things that I don&#8217;t.</p>
<p>So, I&#8217;m still not sure if I work too much.  I know that I am enjoying what I do right now and that family and friends still come first.  Like Nick said, I&#8217;m practicing for something bigger.  Hardships?  Setbacks?  Things I&#8217;ve never done before?  Bring &#8216;em on, but somebody remind me about dinner&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/10/27/do-i-work-too-much/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #26</title>
		<link>http://journal.bitshaker.com/articles/2006/10/27/laws-of-power-26/</link>
		<comments>http://journal.bitshaker.com/articles/2006/10/27/laws-of-power-26/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 03:18:32 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I don&#8217;t particularly like this law of power. It seems like an easy way to get ahead, but will hurt you in the long run. Keeping a clean appearance is important, but I believe there are better ways to do it. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t particularly like this law of power.  It seems like an easy way to get ahead, but will hurt you in the long run.  Keeping a clean appearance is important, but I believe there are better ways to do it.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/10/27/laws-of-power-26/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RubyConf.new(2006)</title>
		<link>http://journal.bitshaker.com/articles/2006/10/22/rubyconf-new-2006/</link>
		<comments>http://journal.bitshaker.com/articles/2006/10/22/rubyconf-new-2006/#comments</comments>
		<pubDate>Sun, 22 Oct 2006 23:03:12 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[rubyconf2006]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I attended the annual Ruby Conference this year in Denver, CO courtesy of ThoughtWorks. Lots of fun was had by all. I met up with a few people from caboose that I hadn&#8217;t seen since last year and had some friends like Evan Phoenix do some talks. The conference was a good chance to meet [...]]]></description>
			<content:encoded><![CDATA[<p>I attended the annual <a href="http://www.rubyconf.org/agenda.html">Ruby Conference</a> this year in Denver, CO courtesy of <a href="http://thoughtworks.com">ThoughtWorks</a>.  Lots of fun was had by all.  I met up with a few people from <a href="http://caboo.se">caboose</a> that I hadn&#8217;t seen since last year and had some friends like Evan Phoenix do some talks.</p>
<p>The conference was a good chance to meet up with some other ThoughtWorkers and have fun in a city I haven&#8217;t been to before.</p>
<p>I also snuck out at night to go to <a href="http://www.skyventurecolorado.com/">SkyVenture</a> and do a little indoor night-skydiving.  That was definitely an experience I&#8217;ll have to have again.</p>
<p>Until next year&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/10/22/rubyconf-new-2006/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #25</title>
		<link>http://journal.bitshaker.com/articles/2006/10/13/laws-of-power-25/</link>
		<comments>http://journal.bitshaker.com/articles/2006/10/13/laws-of-power-25/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 22:28:09 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I&#8217;ve been watching a few movies lately that have reminded me about this law of power. We&#8217;re constantly told what to do in life by many different people. Parents, bosses, friends, governments, you name it. It&#8217;s like a quote I remember from Joe Versus the Volcano when one of Meg Ryan&#8217;s characters is explaining her [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been watching a few movies lately that have reminded me about this law of power.  We&#8217;re constantly told what to do in life by many different people.  Parents, bosses, friends, governments, you name it.  It&#8217;s like a quote I remember from Joe Versus the Volcano when one of Meg Ryan&#8217;s characters is explaining her father.  She says something like, &#8220;My dad says that most people in this world are asleep.  The few that are awake are the ones who are in control and they are constantly amazed at what they see.&#8221;  Well, I&#8217;m awake now and I&#8217;m not going back to sleep.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/10/13/laws-of-power-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #24</title>
		<link>http://journal.bitshaker.com/articles/2006/10/13/laws-of-power-24/</link>
		<comments>http://journal.bitshaker.com/articles/2006/10/13/laws-of-power-24/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 22:27:56 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[In consulting, soft skills go a long way to getting what you want. Negotiating, delegating, supporting; all of these skills come in handy the more you have to interact with other people. That&#8217;s why I like law 24. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>In consulting, soft skills go a long way to getting what you want.  Negotiating, delegating, supporting; all of these skills come in handy the more you have to interact with other people.  That&#8217;s why I like law 24.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/10/13/laws-of-power-24/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #23</title>
		<link>http://journal.bitshaker.com/articles/2006/10/04/laws-of-power-23/</link>
		<comments>http://journal.bitshaker.com/articles/2006/10/04/laws-of-power-23/#comments</comments>
		<pubDate>Wed, 04 Oct 2006 02:03:46 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[From what I&#8217;ve seen in business, it takes all sorts of things to make you successful. You have to have talent, intelligence, experience, humility, be comfortable with change, and even have a little luck. The most important virtues to have though are determination and focus. A sheer will to get things done will get you [...]]]></description>
			<content:encoded><![CDATA[<p>From what I&#8217;ve seen in business, it takes all sorts of things to make you successful.  You have to have talent, intelligence, experience, humility, be comfortable with change, and even have a little luck.  The most important virtues to have though are determination and focus.  A sheer will to get things done will get you the furthest in business.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/10/04/laws-of-power-23/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #22</title>
		<link>http://journal.bitshaker.com/articles/2006/09/23/laws-of-power-22/</link>
		<comments>http://journal.bitshaker.com/articles/2006/09/23/laws-of-power-22/#comments</comments>
		<pubDate>Sat, 23 Sep 2006 05:35:37 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Many things in this life are counter-intuitive on the surface. You do one thing and you get the opposite of what you want. Sometimes to get what you want, you have to do the thing you least want to do. Of course, this tactic can backfire, but it&#8217;s another tool to use through life that [...]]]></description>
			<content:encoded><![CDATA[<p>Many things in this life are counter-intuitive on the surface.  You do one thing and you get the opposite of what you want.  Sometimes to get what you want, you have to do the thing you least want to do.  Of course, this tactic can backfire, but it&#8217;s another tool to use through life that many people could use, but don&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/09/23/laws-of-power-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enterprise Business Analyst?</title>
		<link>http://journal.bitshaker.com/articles/2006/09/20/enterprise-business-analyst/</link>
		<comments>http://journal.bitshaker.com/articles/2006/09/20/enterprise-business-analyst/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 01:58:35 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Is there a position within a large project for a business analyst that is half architect, half business analyst? Keeping with the subject of my current assignment, a coworker mentioned a role that might make sense in some situations. More after the break.]]></description>
			<content:encoded><![CDATA[<p>Is there a position within a large project for a business analyst that is half architect, half business analyst?  Keeping with the subject of my current assignment, a coworker mentioned a role that might make sense in some situations.  More after the break.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/09/20/enterprise-business-analyst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Agile Susceptible To Dilution?</title>
		<link>http://journal.bitshaker.com/articles/2006/09/20/is-agile-susceptible-to-dilution/</link>
		<comments>http://journal.bitshaker.com/articles/2006/09/20/is-agile-susceptible-to-dilution/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 01:57:47 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I am currently working on a large project with around 30 fellow ThoughtWorkers and another 30 consultants comprised of about 6 different consulting firms. There have been some questions rolling around in my mind regarding how agile methods are working on a project where not everyone is used to those techniques and some actually seem [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently working on a large project with around 30 fellow ThoughtWorkers and another 30 consultants comprised of about 6 different consulting firms.  There have been some questions rolling around in my mind regarding how agile methods are working on a project where not everyone is used to those techniques and some actually seem to reject the ideals and use their own methods.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/09/20/is-agile-susceptible-to-dilution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #21</title>
		<link>http://journal.bitshaker.com/articles/2006/08/30/laws-of-power-21/</link>
		<comments>http://journal.bitshaker.com/articles/2006/08/30/laws-of-power-21/#comments</comments>
		<pubDate>Wed, 30 Aug 2006 01:50:39 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Being a consultant is a tricky job. There are usually plenty of political issues within the client to deal with. In particular, people don&#8217;t like to be told they are stupid. Bringing in a consultant to work on a project that couldn&#8217;t be done in house or was not able to be completed by internal [...]]]></description>
			<content:encoded><![CDATA[<p>Being a consultant is a tricky job.  There are usually plenty of political issues within the client to deal with.  In particular, people don&#8217;t like to be told they are stupid.  Bringing in a consultant to work on a project that couldn&#8217;t be done in house or was not able to be completed by internal staff seems to signal that there is something wrong with the people at the organization.  While this may be true in some cases, people still don&#8217;t like to _hear_ that.  A great trick to use is this next law of power.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/08/30/laws-of-power-21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #20</title>
		<link>http://journal.bitshaker.com/articles/2006/08/30/laws-of-power-20/</link>
		<comments>http://journal.bitshaker.com/articles/2006/08/30/laws-of-power-20/#comments</comments>
		<pubDate>Wed, 30 Aug 2006 01:50:35 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[After having problems with an owner of a business, this week&#8217;s law of power came in handy by allowing us to get out of his way and do the right thing. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>After having problems with an owner of a business, this week&#8217;s law of power came in handy by allowing us to get out of his way and do the right thing.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/08/30/laws-of-power-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #19</title>
		<link>http://journal.bitshaker.com/articles/2006/08/06/laws-of-power-19/</link>
		<comments>http://journal.bitshaker.com/articles/2006/08/06/laws-of-power-19/#comments</comments>
		<pubDate>Sun, 06 Aug 2006 02:44:01 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[In my relatively short time in business, I have made a few enemies. It was a painful process, but it taught me some powerful lessons about doing the right thing even if it wasn&#8217;t popular. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>In my relatively short time in business, I have made a few enemies.  It was a painful process, but it taught me some powerful lessons about doing the right thing even if it wasn&#8217;t popular.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/08/06/laws-of-power-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #18</title>
		<link>http://journal.bitshaker.com/articles/2006/06/29/laws-of-power-18/</link>
		<comments>http://journal.bitshaker.com/articles/2006/06/29/laws-of-power-18/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 02:40:30 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week&#8217;s law of power talks about a need to keep your ear to the ground and not defend yourself in a fortress. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s law of power talks about a need to keep your ear to the ground and not defend yourself in a fortress.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/06/29/laws-of-power-18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My “Genius” Bar Experience</title>
		<link>http://journal.bitshaker.com/articles/2006/05/25/my-genius-bar-experience/</link>
		<comments>http://journal.bitshaker.com/articles/2006/05/25/my-genius-bar-experience/#comments</comments>
		<pubDate>Thu, 25 May 2006 04:14:48 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[To preface this, I will say that I love my 12&#8243; PowerBook. I have never had a better computer. I have not had a single problem with it since the day that I got it. I do all sorts of work on it and it is like a part of me. I&#8217;ve never been able [...]]]></description>
			<content:encoded><![CDATA[<p>To preface this, I will say that I love my 12&#8243; PowerBook.  I have never had a better computer.  I have not had a single problem with it since the day that I got it.  I do all sorts of work on it and it is like a part of me.  I&#8217;ve never been able to say that about something that I owned, especially a computer.  That is why it was so painful to go into an Apple store and be treated like I didn&#8217;t matter.  More after the jump and the surprising twist at the end.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/05/25/my-genius-bar-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Few Weeks at ThoughtWorks</title>
		<link>http://journal.bitshaker.com/articles/2006/05/25/my-first-few-weeks-at-thoughtworks/</link>
		<comments>http://journal.bitshaker.com/articles/2006/05/25/my-first-few-weeks-at-thoughtworks/#comments</comments>
		<pubDate>Thu, 25 May 2006 03:32:05 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[It&#8217;s been a whirlwind few weeks for me at my new job. I&#8217;ve met so many new people and have gotten involved in many different parts of the business. Orientation went by in a blur in the &#8220;bored&#8221; room. I got to hang out with 3 great people who were going through orientation too and [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a whirlwind few weeks for me at my new job.  I&#8217;ve met so many new people and have gotten involved in many different parts of the business.  Orientation went by in a blur in the &#8220;bored&#8221; room.  I got to hang out with 3 great people who were going through orientation too and run around Chicago during the immigration rally and get Giordano&#8217;s pizza.</p>
<p>I&#8217;m currently working in Madison, Wisconsin on a project doing Enterprise Testing which is much more fun than it sounds.  Today, for instance, I was working on some ruby code (yay!) to automate a huge number of tests.  I work with lots of great people and get to see how a truly large project gets done.  It&#8217;s an amazing thing what the agile process does for development.</p>
<p>I&#8217;m getting used to the travel and all of the &#8220;joys&#8221; that go with it.  Life as a consultant is good right now and I wouldn&#8217;t have it any other way.  I hope to update more now that I have my poor PowerBook back from the grave.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/05/25/my-first-few-weeks-at-thoughtworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #17</title>
		<link>http://journal.bitshaker.com/articles/2006/05/25/laws-of-power-17/</link>
		<comments>http://journal.bitshaker.com/articles/2006/05/25/laws-of-power-17/#comments</comments>
		<pubDate>Thu, 25 May 2006 03:19:37 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week&#8217;s law talks about being unpredictable and how it can work against those who would try to predict what you are going to do next.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s law talks about being unpredictable and how it can work against those who would try to predict what you are going to do next.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/05/25/laws-of-power-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #16</title>
		<link>http://journal.bitshaker.com/articles/2006/05/01/laws-of-power-16/</link>
		<comments>http://journal.bitshaker.com/articles/2006/05/01/laws-of-power-16/#comments</comments>
		<pubDate>Mon, 01 May 2006 01:50:50 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week&#8217;s law of power is a great one about scarcity. Most people know about supply and demand and can understand that things become more valuable when they are rare. Some however, don&#8217;t realize it takes rarity along with demand to make something (or someone) valuable. It is this subtlety that escapes some and is [...]]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s law of power is a great one about scarcity.  Most people know about supply and demand and can understand that things become more valuable when they are rare.  Some however, don&#8217;t realize it takes rarity along with demand to make something (or someone) valuable.  It is this subtlety that escapes some and is at the heart of this week&#8217;s law.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/05/01/laws-of-power-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Weird Rails Errors?</title>
		<link>http://journal.bitshaker.com/articles/2006/04/25/getting-weird-rails-errors/</link>
		<comments>http://journal.bitshaker.com/articles/2006/04/25/getting-weird-rails-errors/#comments</comments>
		<pubDate>Tue, 25 Apr 2006 10:02:20 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Having trouble with rails on OS X? Are you getting something like this message? `require': No such file to load -- rubygems (LoadError) Then the ruby binary may have been replaced on your machine by Apple in an update recently. The fix is just to remove Apple&#8217;s version in /usr/bin or to change your bash [...]]]></description>
			<content:encoded><![CDATA[<p>Having trouble with rails on OS X?  Are you getting something like this message?</p>
<pre name="code">
`require': No such file to load -- rubygems (LoadError)
</pre>
<p>Then the ruby binary may have been replaced on your machine by Apple in an update recently.  The fix is just to remove Apple&#8217;s version in /usr/bin or to change your bash profile to load your version of ruby first.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/04/25/getting-weird-rails-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Homepage</title>
		<link>http://journal.bitshaker.com/articles/2006/04/19/new-homepage/</link>
		<comments>http://journal.bitshaker.com/articles/2006/04/19/new-homepage/#comments</comments>
		<pubDate>Wed, 19 Apr 2006 17:18:33 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I decided I needed a new front page to this place, so I went to work on something new. I didn&#8217;t exactly know what I wanted until I started putting something down on paper and forming some ideas. I finally came up with the design you see &#8220;here&#8221;:http://www.bitshaker.com and I am pretty happy with it. [...]]]></description>
			<content:encoded><![CDATA[<p>I decided I needed a new front page to this place, so I went to work on something new.  I didn&#8217;t exactly know what I wanted until I started putting something down on paper and forming some ideas.  I finally came up with the design you see &#8220;here&#8221;:http://www.bitshaker.com and I am pretty happy with it.  Read on after the jump on how I did it.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/04/19/new-homepage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I’m a ThoughtWorker!</title>
		<link>http://journal.bitshaker.com/articles/2006/04/16/im-a-thoughtworker/</link>
		<comments>http://journal.bitshaker.com/articles/2006/04/16/im-a-thoughtworker/#comments</comments>
		<pubDate>Sun, 16 Apr 2006 20:55:18 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I&#8217;ve been sitting on this news for a while until the final paperwork came through, but now that the ink is drying on my contracts, I&#8217;m proud to announce that I will be working as a Business Analyst for ThoughtWorks. I start May 1st with orientation in the Chicago office and then I&#8217;ll be put [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been sitting on this news for a while until the final paperwork came through, but now that the ink is drying on my contracts, I&#8217;m proud to announce that I will be working as a Business Analyst for <a href="http://www.thoughtworks.com/">ThoughtWorks</a>.  I start May 1st with orientation in the Chicago office and then I&#8217;ll be put on a project for one of our clients.  Read on for more if you want to know why I chose ThoughtWorks and how I got to this point.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/04/16/im-a-thoughtworker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #15</title>
		<link>http://journal.bitshaker.com/articles/2006/04/16/laws-of-power-15/</link>
		<comments>http://journal.bitshaker.com/articles/2006/04/16/laws-of-power-15/#comments</comments>
		<pubDate>Sun, 16 Apr 2006 14:08:52 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I took a break with these for a while, but now they are back. More on that in another post. This week, I talk about completely defeating an enemy so that they do not come back. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>I took a break with these for a while, but now they are back.  More on that in another post.  This week, I talk about completely defeating an enemy so that they do not come back.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/04/16/laws-of-power-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 1.1 and Typo PSA</title>
		<link>http://journal.bitshaker.com/articles/2006/04/01/rails-1-1-and-typo-psa/</link>
		<comments>http://journal.bitshaker.com/articles/2006/04/01/rails-1-1-and-typo-psa/#comments</comments>
		<pubDate>Sat, 01 Apr 2006 15:47:19 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[If you read this and you are running Typo, I hope it helps you. I am one of the Typo Gardeners at TypoGarden. Rails 1.1 just came out and it breaks some backwards compatibility and at this time, Typo breaks when it is run with it. There is an experimental branch of Typo that hopes [...]]]></description>
			<content:encoded><![CDATA[<p>If you read this and you are running Typo, I hope it helps you.  I am one of the Typo Gardeners at <a href="http://www.typogarden.com/">TypoGarden</a>.  Rails 1.1 just came out and it breaks some backwards compatibility and at this time, Typo breaks when it is run with it.  There is an experimental branch of Typo that hopes to fix these issues, but for now, it would be wise either not to upgrade to Rails 1.1 unless you need it, or to run</p>
<pre name="code">rake freeze_edge REVISION=3303</pre>
<p>in your Typo directory so that you freeze which version of Rails (1.0) you are running until something can be done.  This is particularly relevant for people on shared hosts like TextDrive or Dreamhost.  This has been a PSA.  We now return you to our regularly scheduled programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/04/01/rails-1-1-and-typo-psa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Typo/Rails problem with cached directories</title>
		<link>http://journal.bitshaker.com/articles/2006/03/21/typo-rails-problem-with-cached-directories/</link>
		<comments>http://journal.bitshaker.com/articles/2006/03/21/typo-rails-problem-with-cached-directories/#comments</comments>
		<pubDate>Tue, 21 Mar 2006 22:05:13 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[There was a problem on my site for a while where certain categories on my Typo install were just redirecting to an old school listing of files like when there is no index page in a folder. It bugged me for a while, until I thought about how Rails does its routing of URLs. More [...]]]></description>
			<content:encoded><![CDATA[<p>There was a problem on my site for a while where certain categories on my Typo install were just redirecting to an old school listing of files like when there is no index page in a folder.  It bugged me for a while, until I thought about how Rails does its routing of URLs.  More after the jump.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/lighttpd" rel="tag">lighttpd</a>, <a href="http://www.technorati.com/tag/typo" rel="tag">typo</a>, <a href="http://www.technorati.com/tag/rubyonrails" rel="tag">rubyonrails</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/03/21/typo-rails-problem-with-cached-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #14</title>
		<link>http://journal.bitshaker.com/articles/2006/03/19/laws-of-power-14/</link>
		<comments>http://journal.bitshaker.com/articles/2006/03/19/laws-of-power-14/#comments</comments>
		<pubDate>Sun, 19 Mar 2006 15:46:41 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week&#8217;s law talks about knowing your rival. I recently used the same advice to make myself better for a position. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s law talks about knowing your rival.  I recently used the same advice to make myself better for a position.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/03/19/laws-of-power-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can Rails Migrations Become Easier?</title>
		<link>http://journal.bitshaker.com/articles/2006/03/16/can-rails-migrations-become-easier/</link>
		<comments>http://journal.bitshaker.com/articles/2006/03/16/can-rails-migrations-become-easier/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 15:36:16 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I&#8217;ve been mulling an idea around in my head for the past week. I can&#8217;t seem to sleep without thinking about it (which usually means I need to build something). Rails migrations are pretty easy to get your head around. They add all of the benefits of being able to keep database changes under version [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been mulling an idea around in my head for the past week.  I can&#8217;t seem to sleep without thinking about it (which usually means I need to build something).  Rails <a href="http://wiki.rubyonrails.com/rails/pages/UnderstandingMigrations">migrations</a> are pretty easy to get your head around.  They add all of the benefits of being able to keep database changes under version control and let you work with a team while doing it, among other things.  Can we make creating these migrations even easier?  How about a web app to create, modify, and manage migrations?  I think that&#8217;s what I need to create, if only for my sanity, but hopefully it will be useful for someone else too.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/03/16/can-rails-migrations-become-easier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #13</title>
		<link>http://journal.bitshaker.com/articles/2006/03/07/laws-of-power-13/</link>
		<comments>http://journal.bitshaker.com/articles/2006/03/07/laws-of-power-13/#comments</comments>
		<pubDate>Tue, 07 Mar 2006 00:58:41 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week&#8217;s law is great. I&#8217;ve always heard from people, &#8220;It&#8217;s better to catch flies with honey&#8230;&#8221; and, &#8220;A spoonful of sugar&#8230;&#8221; These sayings all get to the core of what people respond to: something sweet for them. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s law is great.  I&#8217;ve always heard from people, &#8220;It&#8217;s better to catch flies with honey&#8230;&#8221; and, &#8220;A spoonful of sugar&#8230;&#8221;  These sayings all get to the core of what people respond to: something sweet for them.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/03/07/laws-of-power-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>P2P Banking</title>
		<link>http://journal.bitshaker.com/articles/2006/03/01/p2p-banking/</link>
		<comments>http://journal.bitshaker.com/articles/2006/03/01/p2p-banking/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 03:16:36 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[Prosper: Thanks to the magic of the internet, you can now lend money or request money in the form of a loan. You set the interest rate, you take the benefits. I think of it as P2P banking. I wish I had thought of it. I&#8217;ll be watching these guys with interest to see how [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.prosper.com/">Prosper</a>: Thanks to the magic of the internet, you can now lend money or request money in the form of a loan. You set the interest rate, you take the benefits. I think of it as P2P banking.  I wish I had thought of it.  I&#8217;ll be watching these guys with interest to see how they do.  Makes me wonder what other &#8220;old&#8221; things can be made new again with P2P in front of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/03/01/p2p-banking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #12</title>
		<link>http://journal.bitshaker.com/articles/2006/02/27/laws-of-power-12/</link>
		<comments>http://journal.bitshaker.com/articles/2006/02/27/laws-of-power-12/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 01:26:32 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week, the laws of power bring us a law about honesty and when to use it with your adversaries. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This week, the laws of power bring us a law about honesty and when to use it with your adversaries.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/02/27/laws-of-power-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #11</title>
		<link>http://journal.bitshaker.com/articles/2006/02/20/laws-of-power-11/</link>
		<comments>http://journal.bitshaker.com/articles/2006/02/20/laws-of-power-11/#comments</comments>
		<pubDate>Mon, 20 Feb 2006 19:13:43 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week, I talk about making people dependent on you and the freedom that brings when you are the provider. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This week, I talk about making people dependent on you and the freedom that brings when you are the provider.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/02/20/laws-of-power-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Dynamics Presentation</title>
		<link>http://journal.bitshaker.com/articles/2006/02/16/microsoft-dynamics-presentation/</link>
		<comments>http://journal.bitshaker.com/articles/2006/02/16/microsoft-dynamics-presentation/#comments</comments>
		<pubDate>Thu, 16 Feb 2006 15:04:55 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[I went to a Microsoft presentation this morning for their 3.0 launch of their CRM product called Dynamics. I haven&#8217;t been to a Microsoft sales presentation in a few years, so it was an interesting experience. More after the jump. Technorati Tags: crm, microsoft]]></description>
			<content:encoded><![CDATA[<p>I went to a Microsoft presentation this morning for their 3.0 launch of their CRM product called <a href="http://www.microsoft.com/dynamics/crm/product/overview.mspx">Dynamics</a>.  I haven&#8217;t been to a Microsoft sales presentation in a few years, so it was an interesting experience.  More after the jump.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/crm" rel="tag">crm</a>, <a href="http://www.technorati.com/tag/microsoft" rel="tag">microsoft</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/02/16/microsoft-dynamics-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #10</title>
		<link>http://journal.bitshaker.com/articles/2006/02/13/laws-of-power-10/</link>
		<comments>http://journal.bitshaker.com/articles/2006/02/13/laws-of-power-10/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 20:37:07 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week&#8217;s law of power may be a controversial one and it is one that I struggle with because I am the type of person who likes to care for people. The way that I apply it in my life and work is to think about what lifeguards are trained to do.]]></description>
			<content:encoded><![CDATA[<p>This week&#8217;s law of power may be a controversial one and it is one that I struggle with because I am the type of person who likes to care for people. The way that I apply it in my life and work is to think about what lifeguards are trained to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/02/13/laws-of-power-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #9</title>
		<link>http://journal.bitshaker.com/articles/2006/02/05/laws-of-power-9/</link>
		<comments>http://journal.bitshaker.com/articles/2006/02/05/laws-of-power-9/#comments</comments>
		<pubDate>Sun, 05 Feb 2006 22:06:43 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week, I talk about something that comes up everywhere: office politics. If you work in an office, it will happen to you. More after the jump.]]></description>
			<content:encoded><![CDATA[<p>This week, I talk about something that comes up everywhere: office politics. If you work in an office, it will happen to you.  More after the jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/02/05/laws-of-power-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On NTFS Performance Hacks and Design</title>
		<link>http://journal.bitshaker.com/articles/2006/01/31/on-ntfs-performance-hacks-and-design/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/31/on-ntfs-performance-hacks-and-design/#comments</comments>
		<pubDate>Tue, 31 Jan 2006 10:32:44 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[An article came across my news reader today and happened to click on it. I think a lot about design and where the user comes into play in a system, so this article intrigued me in a way it probably wasn&#8217;t meant to do. It is an article called NTFS Performance Hacks. I discuss the [...]]]></description>
			<content:encoded><![CDATA[<p>An article came across my news reader today and happened to click on it. I think a lot about design and where the user comes into play in a system, so this article intrigued me in a way it probably wasn&#8217;t meant to do. It is an article called <a href="http://www.windowsdevcenter.com/pub/a/windows/2005/02/08/NTFS_Hacks.html">NTFS Performance Hacks</a>. I discuss the good, the bad, and the ugly after the jump.<br />
<!-- technorati tags start -->
<p style="text-align:right;font-size:10px;">Technorati Tags: <a href="http://www.technorati.com/tag/windows" rel="tag">windows</a></p>
<p><!-- technorati tags end --></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/31/on-ntfs-performance-hacks-and-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #8</title>
		<link>http://journal.bitshaker.com/articles/2006/01/29/laws-of-power-8/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/29/laws-of-power-8/#comments</comments>
		<pubDate>Sun, 29 Jan 2006 22:23:56 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week, we talk about making people come to you and all of the power that gives you in a situation.]]></description>
			<content:encoded><![CDATA[<p>This week, we talk about making people come to you and all of the power that gives you in a situation.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/29/laws-of-power-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #7</title>
		<link>http://journal.bitshaker.com/articles/2006/01/24/laws-of-power-7/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/24/laws-of-power-7/#comments</comments>
		<pubDate>Tue, 24 Jan 2006 00:12:14 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[The laws of power bring us the power of delegation this week, but from a different angle.]]></description>
			<content:encoded><![CDATA[<p>The laws of power bring us the power of delegation this week, but from a different angle.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/24/laws-of-power-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PSA</title>
		<link>http://journal.bitshaker.com/articles/2006/01/17/psa/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/17/psa/#comments</comments>
		<pubDate>Tue, 17 Jan 2006 13:55:16 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This is a Public Service Announcement. Always, *ALWAYS* back up your machine with something like SuperDuper before doing a system update. As they say, if you don&#8217;t back up your data, it isn&#8217;t important to you. This concludes our public service announcement for the day. Carry on.]]></description>
			<content:encoded><![CDATA[<p>This is a Public Service Announcement.  Always, *ALWAYS* back up your machine with something like <a href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html">SuperDuper</a> before doing a system update. As they say, if you don&#8217;t back up your data, it isn&#8217;t important to you. This concludes our public service announcement for the day.  Carry on.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/17/psa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #6</title>
		<link>http://journal.bitshaker.com/articles/2006/01/17/laws-of-power-6/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/17/laws-of-power-6/#comments</comments>
		<pubDate>Tue, 17 Jan 2006 00:15:20 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week, I talk about getting attention for yourself. What works for companies (commonly known as hype) can work for the individual as well.]]></description>
			<content:encoded><![CDATA[<p>This week, I talk about getting attention for yourself.  What works for companies (commonly known as hype) can work for the individual as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/17/laws-of-power-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #5</title>
		<link>http://journal.bitshaker.com/articles/2006/01/08/laws-of-power-5/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/08/laws-of-power-5/#comments</comments>
		<pubDate>Sun, 08 Jan 2006 22:38:44 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[This week, as promised, I talk about reputation and how important it is.]]></description>
			<content:encoded><![CDATA[<p>This week, as promised, I talk about reputation and how important it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/08/laws-of-power-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laws of Power #4</title>
		<link>http://journal.bitshaker.com/articles/2006/01/04/laws-of-power-4/</link>
		<comments>http://journal.bitshaker.com/articles/2006/01/04/laws-of-power-4/#comments</comments>
		<pubDate>Wed, 04 Jan 2006 02:44:48 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[LOP]]></category>

		<guid isPermaLink="false" />
		<description><![CDATA[A little late with this one, but better late than never. This week I talk about the value of keeping your mouth shut.]]></description>
			<content:encoded><![CDATA[<p>A little late with this one, but better late than never.  This week I talk about the value of keeping your mouth shut.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.bitshaker.com/articles/2006/01/04/laws-of-power-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.013 seconds --><!-- Cached page served by WP-Cache -->
